diff --git a/src/lib/components/GuessesTable.svelte b/src/lib/components/GuessesTable.svelte index e360cac..d4ab4ff 100644 --- a/src/lib/components/GuessesTable.svelte +++ b/src/lib/components/GuessesTable.svelte @@ -5,13 +5,17 @@ let { guesses, correctBookId, - isWon = false, - }: { guesses: Guess[]; correctBookId: string; isWon?: boolean } = $props(); + minimized = false, + }: { guesses: Guess[]; correctBookId: string; minimized?: boolean } = $props(); let hasGuesses = $derived(guesses.length > 0); - let showMinimized = $derived(isWon && guesses.length > 3); + let showMinimized = $derived(minimized); let expanded = $state(false); + $effect(() => { + if (!minimized) expanded = false; + }); + function getBoxColor(isCorrect: boolean, isAdjacent?: boolean): string { if (isCorrect) return "bg-green-500 border-green-600"; if (isAdjacent) return "bg-yellow-500 border-yellow-600"; diff --git a/src/lib/components/WinScreen.svelte b/src/lib/components/WinScreen.svelte index c40db6a..ec342ba 100644 --- a/src/lib/components/WinScreen.svelte +++ b/src/lib/components/WinScreen.svelte @@ -330,12 +330,9 @@ {/if} {#if isLoggedIn} - - View your progress → - +
{:else}
@@ -712,4 +709,43 @@
height: 1.1rem;
flex-shrink: 0;
}
+
+ .progress-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ padding: 0.6rem 1rem;
+ width: 100%;
+ margin-bottom: 0.6rem;
+ background: #059669;
+ color: #fff;
+ border-radius: 0.5rem;
+ font-size: 0.95rem;
+ font-weight: 600;
+ text-decoration: none;
+ transition:
+ background 150ms ease,
+ transform 80ms ease;
+ }
+ .progress-btn:hover {
+ background: #047857;
+ transform: translateY(-1px);
+ }
+ .progress-btn:active {
+ background: #065f46;
+ transform: scale(0.98);
+ }
+ @media (prefers-color-scheme: dark) {
+ .progress-btn {
+ background: #10b981;
+ color: #fff;
+ }
+ .progress-btn:hover {
+ background: #059669;
+ }
+ .progress-btn:active {
+ background: #047857;
+ }
+ }
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index e8ce1e8..046b020 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -53,6 +53,7 @@
let statsData = $state
+ Explored
+ — played at least once
+ Mastered
+ — avg ≤ 3 guesses over 2+ plays
+ Perfect —
+ mastered and guessed in 1 at least once
+
You're getting better!
{/if} ++ Each point is your average guesses over a + rolling window of games. A downward trend means + you're improving. +