diff --git a/src/lib/components/CollectionView.svelte b/src/lib/components/CollectionView.svelte new file mode 100644 index 0000000..e0907d8 --- /dev/null +++ b/src/lib/components/CollectionView.svelte @@ -0,0 +1,232 @@ + + + +
+ {#if coverArtPath} + {title} cover + {:else} +
+ {/if} +
+

{title}

+ {#if subtitle} +

{subtitle}

+ {/if} + {#if metadata} + + {/if} +
+
+ +
+ + + +
  • + +
  • +
    + + +
    +
    +
    + + + + + + {#if showAlbumColumn} + + + {/if} + + + + + + {#each tracks as track, i} + handleTrackClick(i)} + > + + + {#if showAlbumColumn} + + + {/if} + + + + {/each} + +
    #TitleArtistAlbumDurationFormat
    + {track.metadata.trackNumber ?? i + 1} + {track.metadata.title || track.filename}{track.metadata.artist || '—'}{track.metadata.album || '—'} + {#if track.metadata.duration} + {Math.floor(track.metadata.duration / 60)}:{String(Math.floor(track.metadata.duration % 60)).padStart(2, '0')} + {:else} + — + {/if} + {track.format.toUpperCase()}
    +
    +
    +
    +
    + + diff --git a/src/routes/albums/[artist]/[album]/+page.svelte b/src/routes/albums/[artist]/[album]/+page.svelte index 89c70f1..061243d 100644 --- a/src/routes/albums/[artist]/[album]/+page.svelte +++ b/src/routes/albums/[artist]/[album]/+page.svelte @@ -1,9 +1,9 @@ -
    +
    {#if loading}

    Loading album...

    {:else if error}

    {error}

    {:else} - -
    - {#if coverArtPath} - {albumName} cover - {:else} -
    - {/if} -
    -

    {albumName}

    -

    {artistName}

    -

    - {getAlbumYear()} • {tracks.length} track{tracks.length !== 1 ? 's' : ''} -

    -
    -
    - -
    - - -
  • - -
  • -
    - - -
    -
    -
    - - - - - - - - - - - {#each tracks as track, i} - handleTrackClick(i)} - > - - - - - - {/each} - -
    #TitleDurationFormat
    - {track.metadata.trackNumber ?? i + 1} - {track.metadata.title || track.filename} - {#if track.metadata.duration} - {Math.floor(track.metadata.duration / 60)}:{String(Math.floor(track.metadata.duration % 60)).padStart(2, '0')} - {:else} - — - {/if} - {track.format.toUpperCase()}
    -
    -
    -
    -
    + {/if}
    diff --git a/src/routes/library/+page.svelte b/src/routes/library/+page.svelte index 8b7463f..ee114e7 100644 --- a/src/routes/library/+page.svelte +++ b/src/routes/library/+page.svelte @@ -81,6 +81,14 @@ {:else}
    +
  • diff --git a/src/routes/playlists/[name]/+page.svelte b/src/routes/playlists/[name]/+page.svelte index cec2140..ecb6f29 100644 --- a/src/routes/playlists/[name]/+page.svelte +++ b/src/routes/playlists/[name]/+page.svelte @@ -1,10 +1,10 @@ -
    +
    {#if loading}

    Loading playlist...

    {:else if error} @@ -77,79 +73,20 @@ {:else if playlistData && playlistData.tracks.length === 0}

    No tracks in this playlist.

    {:else if playlistData} - -
    - {#if coverArtPath} - {playlistName} cover - {:else} -
    - {/if} -
    -

    {playlistName}

    -

    - {playlistData.tracks.length} track{playlistData.tracks.length !== 1 ? 's' : ''} -

    -
    -
    - -
    - - -
  • - -
  • -
    - - -
    -
    -
    - - - - - - - - - - - - - {#each playlistData.tracks as track, index} - handleTrackClick(index)} - > - - - - - - - - {/each} - -
    #TitleArtistAlbumDurationFormat
    {index + 1}{track.metadata.title || track.filename}{track.metadata.artist || '—'}{track.metadata.album || '—'} - {#if track.metadata.duration} - {Math.floor(track.metadata.duration / 60)}:{String(Math.floor(track.metadata.duration % 60)).padStart(2, '0')} - {:else} - — - {/if} - {track.format.toUpperCase()}
    -
    -
    -
    -
    + {/if}