From 805d2ad9173052c99921be9fb1ce0cd55ca60492 Mon Sep 17 00:00:00 2001 From: Josh Patra <30350506+SoPat712@users.noreply.github.com> Date: Sun, 20 Apr 2025 02:07:45 -0400 Subject: [PATCH] Color fixes, submit button fixes --- src/lib/HeardleGame.svelte | 53 +++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/src/lib/HeardleGame.svelte b/src/lib/HeardleGame.svelte index f63ce9d..1d728bc 100644 --- a/src/lib/HeardleGame.svelte +++ b/src/lib/HeardleGame.svelte @@ -301,16 +301,24 @@ } function submitGuess() { - if (!widgetReady || !selectedTrack || gameOver) return; + if (!widgetReady || gameOver || !userInput) return; + // auto-select if none chosen + if (!selectedTrack && suggestions.length) { + selectedTrack = + suggestions.find((t) => t.title.toLowerCase() === userInput.toLowerCase()) || + suggestions[0]; + } + if (!selectedTrack) return; + attemptCount++; const ans = currentTrack.title.toLowerCase(); - if (selectedTrack.title.toLowerCase() === ans) { + if (selectedTrack!.title.toLowerCase() === ans) { attemptInfos = [...attemptInfos, { status: 'correct', title: currentTrack.title }]; gameOver = true; message = `✅ Correct! It was “${currentTrack.title}.” You got it in ${attemptCount} ${attemptCount === 1 ? 'try' : 'tries'}.`; widget.pause(); } else { - attemptInfos = [...attemptInfos, { status: 'wrong', title: selectedTrack.title }]; + attemptInfos = [...attemptInfos, { status: 'wrong', title: selectedTrack!.title }]; userInput = ''; selectedTrack = null; if (attemptCount >= maxAttempts) revealAnswer(); @@ -326,12 +334,7 @@ function onInputKeydown(e: KeyboardEvent) { if (e.key === 'Enter' && !gameOver) { e.preventDefault(); - if (!selectedTrack && suggestions.length) { - selectedTrack = - suggestions.find((t) => t.title.toLowerCase() === userInput.toLowerCase()) || - suggestions[0]; - } - if (selectedTrack) submitGuess(); + submitGuess(); } } @@ -355,17 +358,23 @@