+
+
+
+ #{track.track_num} - {track.title}
+
+ {track.album_title ? `from ${track.album_title}` : ''}
+ {track.artist_name ? `by ${track.artist_name}` : ''}
+
- {track.track_num} - {track.title}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index f2f867d..2b7d168 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -34,28 +34,23 @@
}
});
comm.connect($address, $token);
- comm.onConnect(() => {
- comm
- .fetchTracksCount()
- .then((count) => {
- let remaining = count;
- console.log(count);
- while (remaining > 0) {
- const offset = count - remaining;
- comm.fetchTracks(500, offset).then((ts) => {
- tracks.update((map) => {
- ts.forEach((t) => map.set(t.id, t.track));
- return map;
- });
- tracksSorted.update((map) => {
- ts.forEach((t, index) => map.set(index + offset, t.id));
- return map;
- });
- });
- remaining -= 500;
- }
- })
- .catch(() => null);
+ comm.onConnect(async () => {
+ const count = await comm.fetchTracksCount();
+
+ let remaining = count;
+ while (remaining > 0) {
+ const offset = count - remaining;
+ const ts = await comm.fetchTracks(500, offset);
+ tracks.update((map) => {
+ ts.forEach((t) => map.set(t.id, t.track));
+ return map;
+ });
+ tracksSorted.update((map) => {
+ ts.forEach((t, index) => map.set(index + offset, t.id));
+ return map;
+ });
+ remaining -= 500;
+ }
});
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index b4a1725..ee84bae 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,14 +1,27 @@
-
-
-
-
-
+
diff --git a/src/types.ts b/src/types.ts
index 3d3f88e..50ccd1b 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -3,7 +3,9 @@ export type ResourceId = bigint;
export interface Track {
title: string,
track_num: number,
+ album_title: string,
album_id: ResourceId,
+ artist_name: string,
artist_id: ResourceId,
thumbnail_id: ResourceId,
}
@@ -20,5 +22,4 @@ export interface Artist {
export interface Album {
title: string,
artist_id: ResourceId,
- thumbnail_id: ResourceId,
}
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index bbf8c7d..3af8dd8 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,6 +1,12 @@
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
+import Icons from 'unplugin-icons/vite'
export default defineConfig({
- plugins: [sveltekit()]
+ plugins: [
+ sveltekit(),
+ Icons({
+ compiler: 'svelte',
+ })
+ ]
});