Skip to content

Commit

Permalink
work on control bar and setup async imports
Browse files Browse the repository at this point in the history
  • Loading branch information
Devcon4 committed Apr 21, 2021
1 parent 04dcf41 commit 9cbce33
Show file tree
Hide file tree
Showing 12 changed files with 13,247 additions and 6,404 deletions.
3 changes: 1 addition & 2 deletions .babelrc
Expand Up @@ -2,8 +2,7 @@
"presets": [
["@babel/env", {
"useBuiltIns": "usage",
"corejs": 3,
"targets": "> 5.0%, not dead"
"corejs": 3
}],
"@babel/typescript"
],
Expand Down
1 change: 1 addition & 0 deletions .browserslistrc
@@ -0,0 +1 @@
> 5.0%, not dead
19,289 changes: 12,925 additions & 6,364 deletions package-lock.json

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion package.json
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"test": "jest",
"build": "rollup -c",
"start": "rollup -c -w"
"start": "rollup -c -w --debug"
},
"repository": {
"type": "git",
Expand All @@ -25,19 +25,28 @@
"@babel/plugin-proposal-object-rest-spread": "^7.11.0",
"@babel/preset-env": "^7.11.5",
"@babel/preset-typescript": "^7.10.4",
"@material/mwc-button": "^0.20.0",
"@material/mwc-dialog": "^0.20.0",
"@material/mwc-icon": "^0.20.0",
"@material/mwc-icon-button": "^0.20.0",
"@material/mwc-slider": "^0.20.0",
"@rollup/plugin-babel": "^5.2.0",
"@rollup/plugin-commonjs": "^15.0.0",
"@rollup/plugin-html": "^0.2.3",
"@rollup/plugin-node-resolve": "^9.0.0",
"@types/jest": "^26.0.12",
"autoprefixer": "^10.2.5",
"core-js": "^3.8.2",
"jest": "^26.4.2",
"lit-element": "^2.4.0",
"postcss": "^8.2.8",
"rollup": "^2.26.9",
"rollup-plugin-copy": "^3.4.0",
"rollup-plugin-delete": "^2.0.0",
"rollup-plugin-dev": "^1.1.3",
"rollup-plugin-minify-html-literals": "^1.2.6",
"rollup-plugin-postcss": "^4.0.0",
"rollup-plugin-postcss-lit": "^1.0.1",
"rollup-plugin-terser": "^7.0.2",
"router-slot": "^1.5.4",
"ts-jest": "^26.3.0",
Expand Down
59 changes: 58 additions & 1 deletion rollup.config.js
Expand Up @@ -8,6 +8,10 @@ import copy from 'rollup-plugin-copy';
import { indexHtml } from './src/indexHtml.js';
import dev from 'rollup-plugin-dev';
import del from 'rollup-plugin-delete';
// import postcss from 'rollup-plugin-postcss';
import autoprefixer from 'autoprefixer';
// import postcssLit from 'rollup-plugin-postcss-lit';
import postcss from 'postcss';

const extensions = ['.js', '.ts'];

Expand All @@ -22,7 +26,7 @@ const config = {
format: 'es',
name: 'Oriole',
entryFileNames: '[name].[hash].js',
chunkFileNames: '[hash].js',
chunkFileNames: '[name].[hash].js',
},

plugins: [
Expand All @@ -34,6 +38,59 @@ const config = {
copy(copyConfig),
resolve({ extensions }),
commonjs(),
// {
// name: 'lit-css-fix',
// async transform(code, id) {
// let finCode = `${code}`;
// let slicedCode = finCode;
// const cssBits = [...((code || '').matchAll(/css`.*?`/g) || [])];
// if (cssBits.length < 1) return null;

// let indexCorrection = 0;
// const processor = postcss([autoprefixer()]);
// /** @type {RegExpExecArray} */
// let all = '';
// let counter = 0;
// while (
// (all = /css`.*?`/g.exec(slicedCode)) !== null &&
// all[0].length > 5 &&
// counter < 20
// ) {
// let bit = all[0],
// index = all.index;
// let bitStr = bit.replace('css`', '');
// bitStr = bitStr.replace('`', '');
// var finBit = await processor.process(bitStr, { from: undefined });
// const correctedIndex = indexCorrection + index;
// finCode = finCode.slice(0, correctedIndex) + 'css`';
// finBit.css + '`' + finCode.slice(correctedIndex);
// indexCorrection = indexCorrection + finBit.css.length;
// console.log(indexCorrection);
// slicedCode = slicedCode.slice(indexCorrection + 4);
// counter++;
// }

// for (const all of cssBits) {
// let bit = all[0],
// index = all.index;
// let bitStr = bit.replace('css`', '');
// bitStr = bitStr.replace('`', '');
// var finBit = await processor.process(bitStr, { from: undefined });
// const correctedIndex = indexCorrection + index;
// finCode =
// finCode.slice(0, correctedIndex) +
// finBit.css +
// finCode.slice(correctedIndex);
// indexCorrection += bit.length - finBit.css.length;
// }
// console.log(finCode);

// return {
// code: finCode,
// map: null,
// };
// },
// },
babel({
extensions,
babelHelpers: 'bundled',
Expand Down
4 changes: 1 addition & 3 deletions src/app.ts
Expand Up @@ -42,12 +42,10 @@ export class AppElement extends LitElement {
}
render() {
return html`<div class="app ori-flex">
<h1>I Work still!</h1>
<h1 class="text">I Work still!</h1>
<router-slot class="ori-flex"></router-slot>
<ori-controlbar></ori-controlbar>
</div>`;
}

static get styles() {
return [globalStyles, flexHostStyles, css``];
}
Expand Down
133 changes: 129 additions & 4 deletions src/components/controlbar.component.ts
@@ -1,13 +1,138 @@
import { LitElement, css, html, customElement } from 'lit-element';
import { globalStyles } from '../globalStyles';
import { LitElement, css, html, customElement, property } from 'lit-element';
import { flexHostStyles, globalStyles } from '../globalStyles';
import '@material/mwc-icon-button';
import '@material/mwc-slider';
import '@material/mwc-icon';

type PlayStates = 'play' | 'pause';

@customElement('ori-controlbar')
export class ControlbarComponent extends LitElement {
@property()
playState: PlayStates = 'pause';

get isPlaying() {
return this.playState === 'play';
}

constructor() {
super();
}

togglePlayStateEvent = (override?: 'play' | 'pause') => () => {
this.playState = override ?? this.isPlaying ? 'pause' : 'play';
};

render() {
return html`<div class="controlbar"><h2>Control!</h2></div>`;
return html`<div class="controlbar">
<div class="top-bar">
<div class="center-content">
<mwc-icon-button
class="small-icon"
icon="fast_rewind"
></mwc-icon-button>
<mwc-icon-button
@click="${this.togglePlayStateEvent()}"
class="primary-icon"
icon="${this.isPlaying
? 'pause_circle_filled'
: 'play_circle_filled'}"
></mwc-icon-button>
<mwc-icon-button
class="small-icon"
icon="fast_forward"
></mwc-icon-button>
</div>
<div class="bottom-bar">
<mwc-slider
class="playback-slider"
max="315"
value="250"
></mwc-slider>
</div>
</div>
<div class="left-content">
<mwc-icon class="volume-icon">volume_mute</mwc-icon>
<mwc-slider class="volume-slider" max="100" value="30"></mwc-slider>
<mwc-icon class="volume-icon">volume_up</mwc-icon>
</div>
</div>`;
}

static get styles() {
return [globalStyles, css``];
return [
globalStyles,
css`
:host {
position: sticky;
bottom: 0;
}
.controlbar {
display: flex;
justify-content: center;
overflow: hidden;
background: var(--light, rgba(var(--ori5-raw), 0.9))
var(--dark, rgba(var(--ori3-raw), 0.9));
backdrop-filter: blur(2px);
box-shadow: rgb(0 0 0 / 10%) 0px -4px 10px 0px,
rgb(0 0 0 / 5%) 0px -4px 3px -1px;
border-top: var(--light, 1px solid rgba(255, 255, 255, 0.2))
var(--dark, 1px solid rgba(100, 100, 100, 0.2));
}
.center-content {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
}
.top-bar {
flex: 1;
padding-top: 12px;
display: flex;
flex-direction: column;
}
.bottom-bar {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
}
.left-content {
display: flex;
justify-content: center;
align-items: center;
margin-right: 48px;
}
.primary-icon {
padding-left: 12px;
padding-right: 12px;
--mdc-icon-button-size: 48px;
--mdc-icon-size: 48px;
}
.small-icon {
--mdc-icon-button-size: 28px;
--mdc-icon-size: 24px;
}
.playback-slider {
width: 50%;
}
.volume-slider {
padding: 0 12px;
}
.volume-icon {
}
`,
];
}
}
43 changes: 42 additions & 1 deletion src/components/discover.page.ts
Expand Up @@ -6,9 +6,50 @@ import './controlbar.component';
@customElement('ori-discover')
export class DiscoverPage extends LitElement {
render() {
return html`<div class="discover">
return html`<div class="discover ori-flex">
<ori-navbar></ori-navbar>
<h3>WOW</h3>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto
quisquam sapiente, aperiam quibusdam veritatis eveniet expedita
perspiciatis similique illo possimus aliquam beatae sed iure ipsum
voluptates impedit deleniti harum accusamus? Quisquam consectetur minus
maiores accusamus neque. Ad assumenda laborum consequatur officia
architecto fuga. Fugiat ipsum ipsam hic, blanditiis magni laborum!
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto
quisquam sapiente, aperiam quibusdam veritatis eveniet expedita
perspiciatis similique illo possimus aliquam beatae sed iure ipsum
voluptates impedit deleniti harum accusamus? Quisquam consectetur minus
maiores accusamus neque. Ad assumenda laborum consequatur officia
architecto fuga. Fugiat ipsum ipsam hic, blanditiis magni laborum!
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto
quisquam sapiente, aperiam quibusdam veritatis eveniet expedita
perspiciatis similique illo possimus aliquam beatae sed iure ipsum
voluptates impedit deleniti harum accusamus? Quisquam consectetur minus
maiores accusamus neque. Ad assumenda laborum consequatur officia
architecto fuga. Fugiat ipsum ipsam hic, blanditiis magni laborum!
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto
quisquam sapiente, aperiam quibusdam veritatis eveniet expedita
perspiciatis similique illo possimus aliquam beatae sed iure ipsum
voluptates impedit deleniti harum accusamus? Quisquam consectetur minus
maiores accusamus neque. Ad assumenda laborum consequatur officia
architecto fuga. Fugiat ipsum ipsam hic, blanditiis magni laborum!
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto
quisquam sapiente, aperiam quibusdam veritatis eveniet expedita
perspiciatis similique illo possimus aliquam beatae sed iure ipsum
voluptates impedit deleniti harum accusamus? Quisquam consectetur minus
maiores accusamus neque. Ad assumenda laborum consequatur officia
architecto fuga. Fugiat ipsum ipsam hic, blanditiis magni laborum!
</p>
<div class="fill"></div>
<ori-controlbar></ori-controlbar>
</div>`;
}
Expand Down
14 changes: 13 additions & 1 deletion src/components/navbar.component.ts
Expand Up @@ -14,6 +14,18 @@ export class NavbarComponent extends LitElement {
}

static get styles() {
return [globalStyles, css``];
return [
globalStyles,
css`
:host {
backdrop-filter: blur(2px);
}
`,
css`
.title {
font-size: 12px;
}
`,
];
}
}
8 changes: 5 additions & 3 deletions src/globalStyles.ts
Expand Up @@ -10,14 +10,16 @@ export const flexHostStyles = css`
`;

export const globalStyles = css`
.bn-flex,
html,
body {
.ori-flex {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0px;
}
.fill {
flex: 1;
}
`;

export const fadeinAnimation = css`
Expand Down

0 comments on commit 9cbce33

Please sign in to comment.