diff --git a/app/album/[id]/page.tsx b/app/album/[id]/page.tsx index c0b7cf8..ea79894 100644 --- a/app/album/[id]/page.tsx +++ b/app/album/[id]/page.tsx @@ -10,7 +10,6 @@ import Link from 'next/link'; import { useAudioPlayer } from '@/app/components/AudioPlayerContext' import Loading from "@/app/components/loading"; import { Separator } from '@/components/ui/separator'; -import { ScrollArea } from '@/components/ui/scroll-area'; import { getNavidromeAPI } from '@/lib/navidrome'; import { useFavoriteAlbums } from '@/hooks/use-favorite-albums'; import { useIsMobile } from '@/hooks/use-mobile'; @@ -121,10 +120,19 @@ export default function AlbumPage() { const seconds = duration % 60; return `${minutes}:${seconds.toString().padStart(2, '0')}`; }; - // Get cover art URL with proper fallback - const coverArtUrl = album.coverArt && api - ? api.getCoverArtUrl(album.coverArt, 1200) - : '/default-user.jpg'; + + // Dynamic cover art URLs based on image size + const getMobileCoverArtUrl = () => { + return album.coverArt && api + ? api.getCoverArtUrl(album.coverArt, 280) + : '/default-user.jpg'; + }; + + const getDesktopCoverArtUrl = () => { + return album.coverArt && api + ? api.getCoverArtUrl(album.coverArt, 300) + : '/default-user.jpg'; + }; return ( <> @@ -136,7 +144,7 @@ export default function AlbumPage() { {/* Album Cover - Centered */}
{album.name} {album.name} - - {tracklist.length === 0 ? ( -
-

No tracks available.

-
- ) : ( -
- {tracklist.map((song, index) => ( -
handlePlayClick(song)} - > - {/* Track Number / Play Indicator */} -
- <> - {song.track || index + 1} - - -
+ {tracklist.length === 0 ? ( +
+

No tracks available.

+
+ ) : ( +
+ {tracklist.map((song, index) => ( +
handlePlayClick(song)} + > + {/* Track Number / Play Indicator */} +
+ <> + {song.track || index + 1} + + +
- {/* Song Info */} -
-
-

- {song.title} -

+ {/* Song Info */} +
+
+

+ {song.title} +

+
+
+
+ {song.artist}
-
-
- {song.artist} -
-
-
- - {/* Duration */} -
- {formatDuration(song.duration)} -
- - {/* Actions */} -
-
- ))} -
- )} - + + {/* Duration */} +
+ {formatDuration(song.duration)} +
+ + {/* Actions */} +
+ +
+
+ ))} +
+ )}
diff --git a/app/components/AudioPlayerContext.tsx b/app/components/AudioPlayerContext.tsx index 7c45e9b..d4e10e6 100644 --- a/app/components/AudioPlayerContext.tsx +++ b/app/components/AudioPlayerContext.tsx @@ -105,7 +105,7 @@ export const AudioPlayerProvider: React.FC<{ children: React.ReactNode }> = ({ c artist: song.artist, album: song.album, duration: song.duration, - coverArt: song.coverArt ? api.getCoverArtUrl(song.coverArt, 1200) : undefined, + coverArt: song.coverArt ? api.getCoverArtUrl(song.coverArt, 512) : undefined, albumId: song.albumId, artistId: song.artistId, starred: !!song.starred diff --git a/app/components/FullScreenPlayer.tsx b/app/components/FullScreenPlayer.tsx index 4bb780f..fa09ded 100644 --- a/app/components/FullScreenPlayer.tsx +++ b/app/components/FullScreenPlayer.tsx @@ -394,13 +394,13 @@ export const FullScreenPlayer: React.FC = ({ isOpen, onCl {/* Track Info - Left Aligned and Heart on Same Line */}
-
+

{currentTrack.name}