diff --git a/web/src/lib/components/AlbumCard.svelte b/web/src/lib/components/AlbumCard.svelte index ebb2df7e..5575ccb1 100644 --- a/web/src/lib/components/AlbumCard.svelte +++ b/web/src/lib/components/AlbumCard.svelte @@ -3,9 +3,9 @@ import { FALLBACK_COVER } from '$lib/media/covers'; import { api } from '$lib/api/client'; import { enqueueTracks, playQueue } from '$lib/player/store.svelte'; - import { Plus, Play } from 'lucide-svelte'; - import LikeButton from './LikeButton.svelte'; + import { Play } from 'lucide-svelte'; import AlbumMenu from './AlbumMenu.svelte'; + import CardActionCluster from './CardActionCluster.svelte'; let { album }: { album: AlbumRef } = $props(); @@ -58,24 +58,20 @@
{album.year}
{/if} -
- - -
-
- -
+ + {#snippet menu()} + + {/snippet} + diff --git a/web/src/lib/components/ArtistCard.svelte b/web/src/lib/components/ArtistCard.svelte index 8a2a4ff5..f1e1003a 100644 --- a/web/src/lib/components/ArtistCard.svelte +++ b/web/src/lib/components/ArtistCard.svelte @@ -2,9 +2,9 @@ import type { ArtistRef, TrackRef } from '$lib/api/types'; import { api } from '$lib/api/client'; import { playQueue, enqueueTracks } from '$lib/player/store.svelte'; - import { Disc3, Play, Plus } from 'lucide-svelte'; - import LikeButton from './LikeButton.svelte'; + import { Disc3, Play } from 'lucide-svelte'; import ArtistMenu from './ArtistMenu.svelte'; + import CardActionCluster from './CardActionCluster.svelte'; import { listArtistTracks } from '$lib/api/artists'; let { artist }: { artist: ArtistRef } = $props(); @@ -71,21 +71,16 @@
{artist.name}
-
- - -
- -
- -
+ + {#snippet menu()} + + {/snippet} + diff --git a/web/src/lib/components/CardActionCluster.svelte b/web/src/lib/components/CardActionCluster.svelte new file mode 100644 index 00000000..c92644b2 --- /dev/null +++ b/web/src/lib/components/CardActionCluster.svelte @@ -0,0 +1,55 @@ + + + + +
e.stopPropagation()}> + + +
+ + +
e.stopPropagation()}> + {@render menu()} +
diff --git a/web/src/lib/components/CompactTrackCard.svelte b/web/src/lib/components/CompactTrackCard.svelte index a1326945..ed526455 100644 --- a/web/src/lib/components/CompactTrackCard.svelte +++ b/web/src/lib/components/CompactTrackCard.svelte @@ -2,9 +2,8 @@ import type { TrackRef } from '$lib/api/types'; import { playQueue, enqueueTrack } from '$lib/player/store.svelte'; import { FALLBACK_COVER, coverUrl } from '$lib/media/covers'; - import { Plus } from 'lucide-svelte'; - import LikeButton from './LikeButton.svelte'; import TrackMenu from './TrackMenu.svelte'; + import CardActionCluster from './CardActionCluster.svelte'; let { track, @@ -52,24 +51,14 @@
{track.title}
{track.artist_name}
- - - -
e.stopPropagation()}> - - -
-
- -
+ + {#snippet menu()} + + {/snippet} +