diff --git a/apps/web/app/(app)/album/AlbumComponent.tsx b/apps/web/app/(app)/album/AlbumComponent.tsx
index a0be187f..43576ce0 100644
--- a/apps/web/app/(app)/album/AlbumComponent.tsx
+++ b/apps/web/app/(app)/album/AlbumComponent.tsx
@@ -14,6 +14,7 @@ import WikidataLogo from "@/public/wikidata_logo.png";
import WikipediaLogo from "@/public/wikipedia_logo.png";
import { getAlbumInfo, getArtistInfo, LibraryAlbum } from "@music/sdk";
import { Artist } from "@music/sdk/types";
+import { AspectRatio } from "@music/ui/components/aspect-ratio";
import { Badge } from "@music/ui/components/badge";
import { Button } from "@music/ui/components/button";
import { ScrollArea, ScrollBar } from "@music/ui/components/scroll-area";
@@ -34,20 +35,26 @@ export default function AlbumComponent() {
if (!id || typeof id !== "string") return;
const fetchAlbumInfo = async () => {
- const album = await getAlbumInfo(id);
+ const album = await getAlbumInfo(id) as LibraryAlbum;
const artistData = album.artist_object;
const contributingArtistIds = album.contributing_artists_ids;
-
- const contributingArtistsPromises = contributingArtistIds.map((artistId) =>
- getArtistInfo(artistId)
- );
-
- const contributingArtistsData = await Promise.all(contributingArtistsPromises);
+ if (contributingArtistIds) {
+ const contributingArtistsPromises = contributingArtistIds.map((artistId) =>
+ getArtistInfo(artistId)
+ );
+
+ const contributingArtistsData = await Promise.all(contributingArtistsPromises);
+ setContributingArtists(contributingArtistsData);
+ } else {
+ setContributingArtists([])
+ }
+
setAlbum(album);
setArtist(artistData);
- setContributingArtists(contributingArtistsData);
+
+ // setContributingArtists(contributingArtistsData);
};
fetchAlbumInfo();
@@ -109,14 +116,15 @@ export default function AlbumComponent() {
{album.release_group_album?.artist_credit.map((artist) => (
{artist.name}
@@ -298,7 +306,7 @@ export default function AlbumComponent() {
diff --git a/apps/web/app/(app)/social/page.tsx b/apps/web/app/(app)/social/page.tsx
index 018dbdfb..9755110e 100644
--- a/apps/web/app/(app)/social/page.tsx
+++ b/apps/web/app/(app)/social/page.tsx
@@ -10,6 +10,7 @@ import ArtistCard from "@/components/Music/Artist/ArtistCard";
import { User } from "@music/sdk/types";
import UserCard from "@/components/Music/Card/User/UserCard";
import { useSession } from "@/components/Providers/AuthProvider";
+import ProfilePicture from "@/components/User/ProfilePicture";
export default function SocialPage() {
const { session } = useSession()
@@ -58,11 +59,7 @@ export default function SocialPage() {
{userInfo.image ? (
@{userInfo.username} {album_name} {album_songs_count} {album_songs_count}
- {artist_name} • {releaseDate}
+ {artist_name} {releaseDate == "Invalid Date" ? "" : "• " + releaseDate}
- {song.name}
+ {song.name}
- {songInfo?.album_object.name} • {songInfo?.artist_object.name}
+ {songInfo?.album_object.name ?? ""} • {songInfo?.artist_object.name}
+ Song • {song.artist} • {song.album_object.name} • {formatDuration(song.duration)}
+
{song_name}
- Song • {artist_name}
+
+ Song •
+
+
+ {artist_name}
+
+
{artist.name}
- {song.contributing_artists.map((artist, index) => (
+ {song.contributing_artist_ids && song.contributing_artists.map((artist, index) => (
, {artist}
diff --git a/apps/web/components/Music/Player/VideoPlayerDialog.tsx b/apps/web/components/Music/Player/VideoPlayerDialog.tsx
index aa9a3062..4168607f 100644
--- a/apps/web/components/Music/Player/VideoPlayerDialog.tsx
+++ b/apps/web/components/Music/Player/VideoPlayerDialog.tsx
@@ -19,39 +19,65 @@ export default function VideoPlayerDialog({ url }: VideoPlayerDialogProps) {
const { isPlaying, togglePlayPause, song, currentTime, handleTimeChange } = usePlayer();
const [isDialogOpen, setIsDialogOpen] = useState(false);
const [isHovered, setIsHovered] = useState(false);
- const videoTimeRef = useRef(currentTime);
+ const videoTimeRef = useRef
- {/*
- {song.name}
+