diff --git a/src/lib/ui/player/Lyrics.svelte b/src/lib/ui/player/Lyrics.svelte index 8ed874d..debf27d 100644 --- a/src/lib/ui/player/Lyrics.svelte +++ b/src/lib/ui/player/Lyrics.svelte @@ -68,9 +68,7 @@
- {#if showCaret} -
- {/if} + {#each lines as line, l}
onLineClick?.()} diff --git a/src/routes/results/[id]/+page.svelte b/src/routes/results/[id]/+page.svelte index 5e35d45..fe1a8c4 100644 --- a/src/routes/results/[id]/+page.svelte +++ b/src/routes/results/[id]/+page.svelte @@ -96,17 +96,16 @@ }) // Playlist Navigation Logic - let nextSongId = $state(null) - let isPlaylistFinished = $state(false) - const loc = data.user.data.loc const playlist = data.playlist + let nextSongId = $state(getNextSong(playlist, loc)) + let isPlaylistFinished = $state(false) + // Check if this is the latest result for the current playlist session const isCurrentResult = loc?.lastResultId === data.resultId // Compute next state immediately if (playlist && loc && isCurrentResult) { - nextSongId = getNextSong(playlist, loc) if (nextSongId === null) isPlaylistFinished = true } diff --git a/src/routes/song/[id]/play/+page.svelte b/src/routes/song/[id]/play/+page.svelte index ab90b36..b3d61e7 100644 --- a/src/routes/song/[id]/play/+page.svelte +++ b/src/routes/song/[id]/play/+page.svelte @@ -37,6 +37,7 @@ let deduplicatedLyrics = $derived(dedupLines(data.lrc, isHideRepeated)) let processedLrc: ProcLrcLine[] = $derived(deduplicatedLyrics.map(line => processLrcLine(line.lyric))) // State tracking for each kana character: UNSEEN, RIGHT, WRONG + // svelte-ignore state_referenced_locally let states = $state(processedLrc.map(line => new Array(line.totalLen).fill('unseen'))) let musicControl: MusicControl | undefined