diff --git a/app/features/music/loader.tsx b/app/features/music/loader.tsx index 7a6e974..2ccb527 100644 --- a/app/features/music/loader.tsx +++ b/app/features/music/loader.tsx @@ -17,11 +17,21 @@ export const musicUserLoader = createLoader(async ({ db, params, request }) => { const UserMusicMemo = await db.userMusicMemo.findFirst({ where: { userId, songId } }); const spotifyEmbed = song?.spotifyId ? await getSpotifyEmbed(buildSpotifyTrackUrl(song.spotifyId)) : null; + const likes = await db.memoLikesUser.count({ + where: { memoId: UserMusicMemo?.id }, + }); const isMemoLiked = !!(await db.memoLikesUser.findFirst({ where: { memoId: UserMusicMemo?.id, userId: currentUser?.id }, })); - return { song, user, UserMusicMemo, isCurrentUserProfile, spotifyEmbed, isMemoLiked }; + return { + song, + user, + UserMusicMemo: UserMusicMemo ? { ...UserMusicMemo, likes } : null, + isCurrentUserProfile, + spotifyEmbed, + isMemoLiked, + }; }); export const musicCreateUserLoader = createLoader(async ({ db, params, request }) => { diff --git a/app/features/profile/action.ts b/app/features/profile/action.ts index a41a201..29166d9 100644 --- a/app/features/profile/action.ts +++ b/app/features/profile/action.ts @@ -201,15 +201,7 @@ export const MemoLikeAction = createAction(async ({ request, db, params }) => { }, update: {}, }); - await db.userMusicMemo.update({ - where: { id: memoId }, - data: { likes: { increment: 1 } }, - }); } else if (intent === 'unlike') { - await db.userMusicMemo.update({ - where: { id: memoId }, - data: { likes: { decrement: 1 } }, - }); await db.memoLikesUser.delete({ where: { userId_memoId: {