diff --git a/src/routes/song/[id]/+page.svelte b/src/routes/song/[id]/+page.svelte
index 439eb60..43da04a 100644
--- a/src/routes/song/[id]/+page.svelte
+++ b/src/routes/song/[id]/+page.svelte
@@ -25,6 +25,11 @@
// Settings stored in user data
let settings = $state(data.user.data?.typingSettings ?? typingSettingsDefault)
$effect(() => { API.saveUserData({ typingSettings: settings }) })
+
+ // Playlist location state
+ let loc = $state(data.user.data.loc)
+ $effect(() => { API.saveUserData({ loc }) })
+
const _preprocessKana = (kana: string) => settings.allKata ? toKatakana(kana) : kana
const preprocessKana = (kana: string, state?: string) => (settings.showRomaji || (settings.showRomajiOnError && state === 'wrong')) ? `${_preprocessKana(kana)}` : _preprocessKana(kana)
@@ -152,10 +157,10 @@
totalTyped, totalRight, startTime, statsHistory
})
- if (data.user.data.loc?.currentPlaylistId) {
- data.user.data.loc.isFinished = true;
- data.user.data.loc.lastResultId = res.id;
- await API.saveUserData({ loc: data.user.data.loc });
+ if (loc?.currentPlaylistId) {
+ loc.isFinished = true;
+ loc.lastResultId = res.id;
+ await API.saveUserData({ loc });
}
goto(`/results/${res.id}`, { replaceState: true })
@@ -167,6 +172,10 @@
+ {#if loc}
+
+ {/if}