diff --git a/components/RecentChunithmScores/action.ts b/components/RecentChunithmScores/action.ts index 27818e1..e007866 100644 --- a/components/RecentChunithmScores/action.ts +++ b/components/RecentChunithmScores/action.ts @@ -34,6 +34,7 @@ export async function getUserRatingBaseList() { songId: { in: baseListMusicIds, }, + version: supportedVersionNumber, // Ensure the version matches }, select: { songId: true, @@ -47,18 +48,23 @@ export async function getUserRatingBaseList() { }, }); - const staticMusic = new Map( - staticMusicInfo.map((info) => [info.songId, info]), - ); + // Map to join `musicId` and `difficultId` with static music info + // i hate it + const profileRatingToStaticMusic = new Map< + string, + (typeof staticMusicInfo)[0] + >(staticMusicInfo.map((info) => [`${info.songId}-${info.chartId}`, info])); const songsWithTitles = userRatingBaseList.map((ratingListSong) => { - const staticInfo = staticMusic.get(ratingListSong.musicId); + const MusicIdtoDiffId = `${ratingListSong.musicId}-${ratingListSong.difficultId}`; + const songInfo = profileRatingToStaticMusic.get(MusicIdtoDiffId); - const level = staticInfo?.level ?? 0; + const level = songInfo?.level ?? 0; const score = ratingListSong.score ?? 0; // Calculate the rating let rating = 0; + if (score >= 1009000) { rating = level * 100 + 215; } else if (score >= 1007500) { @@ -81,12 +87,12 @@ export async function getUserRatingBaseList() { return { ...ratingListSong, - title: staticInfo?.title || "Unknown Title", - artist: staticInfo?.artist || "Unknown Artist", - genre: staticInfo?.genre || "Unknown Genre", - chartId: staticInfo?.chartId || "Unknown chartId", - level: staticInfo?.level || "Unknown Level", - jacketPath: staticInfo?.jacketPath || "", + title: songInfo?.title || "Unknown Title", + artist: songInfo?.artist || "Unknown Artist", + genre: songInfo?.genre || "Unknown Genre", + chartId: songInfo?.chartId || "Unknown chartId", + level: songInfo?.level || "Unknown Level", + jacketPath: songInfo?.jacketPath || "", rating, }; }); diff --git a/prisma/schemas/daphnis/generated/daphnis/edge.js b/prisma/schemas/daphnis/generated/daphnis/edge.js index 98535b0..f572f1a 100644 --- a/prisma/schemas/daphnis/generated/daphnis/edge.js +++ b/prisma/schemas/daphnis/generated/daphnis/edge.js @@ -179,6 +179,7 @@ const config = { "db" ], "activeProvider": "mysql", + "postinstall": false, "inlineDatasources": { "db": { "url": { diff --git a/prisma/schemas/daphnis/generated/daphnis/index.js b/prisma/schemas/daphnis/generated/daphnis/index.js index ce03330..09afc19 100644 --- a/prisma/schemas/daphnis/generated/daphnis/index.js +++ b/prisma/schemas/daphnis/generated/daphnis/index.js @@ -180,6 +180,7 @@ const config = { "db" ], "activeProvider": "mysql", + "postinstall": false, "inlineDatasources": { "db": { "url": {