diff --git a/src/lib/components/album/AlbumHeader.svelte b/src/lib/components/album/AlbumHeader.svelte
new file mode 100644
index 0000000..b633853
--- /dev/null
+++ b/src/lib/components/album/AlbumHeader.svelte
@@ -0,0 +1,179 @@
+
+
+{#if artModalOpen && album?.art_path}
+
(artModalOpen = false)}
+ onkeydown={(e) => {
+ if (e.key === "Escape") artModalOpen = false;
+ }}
+ >
+
+
})
+
+{/if}
+
+
+
+
diff --git a/src/lib/components/album/TrackRow.svelte b/src/lib/components/album/TrackRow.svelte
new file mode 100644
index 0000000..76ebda4
--- /dev/null
+++ b/src/lib/components/album/TrackRow.svelte
@@ -0,0 +1,77 @@
+
+
+
+
+
diff --git a/src/lib/components/nowplaying/NowPlayingDrawer.svelte b/src/lib/components/nowplaying/NowPlayingDrawer.svelte
new file mode 100644
index 0000000..a847e46
--- /dev/null
+++ b/src/lib/components/nowplaying/NowPlayingDrawer.svelte
@@ -0,0 +1,183 @@
+
+
+
+
+{#if ui.nowPlayingDrawerOpen}
+ ui.closeNowPlayingDrawer()}
+ >
+
+
{
+ if (album) library.setAlbumRating(album.id, r);
+ }}
+ bind:artModalOpen
+ >
+ {#snippet trailing()}
+
+ {/snippet}
+
+
+
+ {#each tracks as t, index (t.id)}
+ playFrom(index)} />
+ {/each}
+
+
+{/if}
+
+
diff --git a/src/lib/components/tracklist/TrackTable.svelte b/src/lib/components/tracklist/TrackTable.svelte
index bfae4cc..bb4af35 100644
--- a/src/lib/components/tracklist/TrackTable.svelte
+++ b/src/lib/components/tracklist/TrackTable.svelte
@@ -1,12 +1,11 @@