+
+
+ ${this.details.tracks ? this.details?.tracks[this.track].title : this.details.title}
+ ${this.details.tracks ? '' : html`${this.details.details}
`}
+
-
- ${this._getTrack.render({
- complete: () => html`
-
${formatSeconds(this.position)}
+
+
+ ${this._getTrack.render({
+ complete: () => html`
+
${formatSeconds(this.position)}
- ${this.details?.tracks ?
- html`
`
- : html`
-
- `
- }
+ >`
+ : html`
+
+ `
+ }
-
${formatSeconds(this.duration)}
- `,
- error: (err) => err
- })}
+
${formatSeconds(this.duration)}
+ `,
+ error: (err) => err
+ })}
- ${this.audio}
-
-
-
-
-
-
-
-
-
+ ${this.audio}
+
+
+
+
- ` : ''}`
+
+ `
+ : ''
}
static styles = [ css`${unsafeCSS(MainCSS)}`, css`
@@ -273,8 +283,7 @@ ${ this.details ?
}
.player:has(.tracklist) {
- grid-template-rows: 67% 1fr 1fr 1fr;
- padding-block-end: 2em;
+ grid-template-rows: 60% 40%;
gap: 0;
& > header {
@@ -284,10 +293,38 @@ ${ this.details ?
& .info {
padding-block-end: 1.5em;
}
+
+ & .player-controls {
+ display: grid;
+ grid-template-rows: 5em repeat(2, 1fr);
+ padding: 1em;
+
+ & header {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-size: 1.3em;
+ }
+ }
+ }
+
+ @container (min-width: 800px) {
+ header h2 {
+ color: pink;
+ background: red;
+ }
}
.player:has(.waveform) {
- grid-template-rows: 0.7fr 0.7fr 1fr;
+ display: flex;
+ flex-direction: column;
+
+ & .player-controls {
+ flex-grow: 1;
+ display: grid;
+ grid-template-rows: repeat(3, 1fr);
+ }
& header {
padding-block-start: 1em;
@@ -307,8 +344,6 @@ ${ this.details ?
}
.tracklist + header {
- text-align: center;
- font-size: 1.25em;
}
.tracklist {