-
- {{
- stateMetadata.metadata.data()?.tags?.TrackTitle ??
- "Unknown Title"
- }}
-
-
- {{
- stateMetadata.metadata.data()?.tags?.Artist ??
- "Unknown Artist"
- }}
-
-
- {{
- stateMetadata.metadata.data()?.tags?.Album ?? "Unknown Album"
- }}
-
-
+
+
+ {{ stateMetadata.metadata.data()?.tags?.TrackTitle ?? "Unknown Title"
+ }}
+
+
+ {{ stateMetadata.metadata.data()?.tags?.Artist ?? "Unknown Artist" }}
+
+
+ {{ stateMetadata.metadata.data()?.tags?.Album ?? "Unknown Album" }}
+
+
-
-
-
{{ currentTimeFormatted() }}
-
{{ totalTimeFormatted() }}
-
-
-
+
+
+
{{ currentTimeFormatted() }}
+
{{ totalTimeFormatted() }}
+
+
+
-
- @if (controls() === "volume-change") {
-
- } @else {
-
- }
-
+
+ @if (controls() === "volume-change") {
+
+ } @else {
+
+ }
+
+ } @else if (stateMetadata.metadata.isLoading()) {
+
Loading...
+ } @else {
+
An error has occurred...
}
diff --git a/src/app/views/currently-playing/currently-playing.ts b/src/app/views/currently-playing/currently-playing.ts
index c2fccc9..a075494 100644
--- a/src/app/views/currently-playing/currently-playing.ts
+++ b/src/app/views/currently-playing/currently-playing.ts
@@ -29,7 +29,7 @@ export class CurrentlyPlaying {
mutationFn: async () => {
const path = await pickSong();
if (!path) {
- return;
+ return false;
}
await play(path);
return true;
@@ -93,8 +93,23 @@ export class CurrentlyPlaying {
return `${showHours ? hours + ":" : ""}${showMinutes ? zeroPad(minutes, 2) : ""}:${zeroPad(seconds, 2)}`;
});
- resume = resume;
- pause = pause;
+ isPlayingASong = computed(() => !!this.playingMetadata().currentlyPlayingPath);
+
+ resume = () => {
+ // Need to select a file to play
+ if (!this.isPlayingASong()) {
+ this.openFileMutation.mutate(undefined, {
+ onSuccess: () => {
+ void resume();
+ },
+ });
+ return;
+ }
+ void resume();
+ };
+ pause = () => {
+ void pause();
+ };
seekFromInput(event: Event) {
const input = event.target as HTMLInputElement;
diff --git a/src/assets/library_icon.svg b/src/assets/library_icon.svg
new file mode 100644
index 0000000..de5c8ca
--- /dev/null
+++ b/src/assets/library_icon.svg
@@ -0,0 +1,3 @@
+