From 11d440c6edd69926ed486335f3a8b30bde4a349d Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Fri, 14 Aug 2026 22:38:08 +0200 Subject: [PATCH] add persistent win/loss and some frontend feedback --- app/Http/Controllers/TlaController.php | 30 +++++++++++++++++--------- resources/js/pages/HomeView.vue | 22 ++++++++++++++++--- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php index d94ec1d..bb75f4d 100644 --- a/app/Http/Controllers/TlaController.php +++ b/app/Http/Controllers/TlaController.php @@ -30,10 +30,13 @@ class TlaController extends Controller public function session_flush(Request $request, string $language) { - if ($request->session()->get('date', NULL) != date('Y-m-d')) + $session = $request->session(); + if ($session->get('date', NULL) != date('Y-m-d')) { - $request->session()->forget('guesses-'.$language); - $request->session()->put('date', date('Y-m-d')); + $session->forget('guesses-'.$language); + $session->forget('tla'); + $session->forget('correct'); + $session->put('date', date('Y-m-d')); } } @@ -45,12 +48,15 @@ class TlaController extends Controller $tla = Tla::GetCurrentTla($language); $this->session_flush($request, $language); + $session = $request->session(); + return response()->json([ 'hint' => $tla->hint, - 'guesses' => $request->session()->get('guesses-'.$language, []), - 'date' => $request->session()->get('date'), - 'tla' => $request->session()->get('tla') == $tla->acronym ? $tla->acronym : NULL, - 'context' => $request->session()->get('tla') == $tla->acronym ? $tla->context : NULL, + 'guesses' => $session->get('guesses-'.$language, []), + 'date' => $session->get('date'), + 'tla' => $session->get('tla') == $tla->acronym ? $tla->acronym : NULL, + 'context' => $session->get('tla') == $tla->acronym ? $tla->context : NULL, + 'correct' => $session->get('correct'), ]); } @@ -100,17 +106,21 @@ class TlaController extends Controller $score += $guess_array[$i + 3]; } - if ($score == 12) $session->put('tla', $tla_object->acronym); - $session->push('guesses-'.$language, $guess_array); $guesses = $session->get('guesses-'.$language, NULL); + if ($score == 12 || count($guesses) == env('MAX_GUESSES', 10)) { + $session->put('tla', $tla_object->acronym); + $session->put('correct', true); + } + return response()->json([ - 'guesses' => $session->get('guesses-'.$language, []), + 'guesses' => $guesses, 'date' => $session->get('date'), 'tla' => $session->get('tla') == $tla_object->acronym ? $tla_object->acronym : NULL, 'context' => $session->get('tla') == $tla_object->acronym ? $tla_object->context : NULL, 'score' => $score, + 'correct' => $session->get('correct'), ]); } diff --git a/resources/js/pages/HomeView.vue b/resources/js/pages/HomeView.vue index e340461..ed2c37e 100644 --- a/resources/js/pages/HomeView.vue +++ b/resources/js/pages/HomeView.vue @@ -17,6 +17,7 @@ victory: false, loss: false, maxGuesses: 10, + correct: false, }; }, @@ -28,6 +29,7 @@ this.guesses = response.data.guesses; this.tla = response.data.tla; this.context = response.data.context; + this.correct = response.data.correct; }); }, @@ -50,9 +52,13 @@ this.victory = !this.victory; this.tla = response.data.tla; this.context = response.data.context; + this.correct = response.data.correct; } else if (this.guesses.length == this.maxGuesses) { this.loss = !this.loss; + this.tla = response.data.tla; + this.context = response.data.context; + this.correct = response.data.correct; } }) } @@ -118,12 +124,18 @@ - @@ -131,10 +143,14 @@

Congratulations!

Todays TLA was: {{ tla }} +

The context of todays TLA:

+ {{ context }}

What a shame!

- Todays TLA was: whatever you didnt write + Todays TLA was: {{ tla }} +

The context of todays TLA:

+ {{ context }}