From aba5c5b7c24adf80f08bdd3a653c371cfe5195eb Mon Sep 17 00:00:00 2001
From: Azalea <22280294+hykilpikonna@users.noreply.github.com>
Date: Thu, 20 Nov 2025 22:11:33 +0800
Subject: [PATCH] [+] Sequential / random button
---
src/routes/song/[id]/+page.svelte | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
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}