add persistent win/loss and some frontend feedback
Build / Build-image (push) Successful in 50s

This commit is contained in:
2026-08-14 22:38:08 +02:00
parent 406458c33b
commit 11d440c6ed
2 changed files with 39 additions and 13 deletions
+20 -10
View File
@@ -30,10 +30,13 @@ class TlaController extends Controller
public function session_flush(Request $request, string $language) 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); $session->forget('guesses-'.$language);
$request->session()->put('date', date('Y-m-d')); $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); $tla = Tla::GetCurrentTla($language);
$this->session_flush($request, $language); $this->session_flush($request, $language);
$session = $request->session();
return response()->json([ return response()->json([
'hint' => $tla->hint, 'hint' => $tla->hint,
'guesses' => $request->session()->get('guesses-'.$language, []), 'guesses' => $session->get('guesses-'.$language, []),
'date' => $request->session()->get('date'), 'date' => $session->get('date'),
'tla' => $request->session()->get('tla') == $tla->acronym ? $tla->acronym : NULL, 'tla' => $session->get('tla') == $tla->acronym ? $tla->acronym : NULL,
'context' => $request->session()->get('tla') == $tla->acronym ? $tla->context : 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]; $score += $guess_array[$i + 3];
} }
if ($score == 12) $session->put('tla', $tla_object->acronym);
$session->push('guesses-'.$language, $guess_array); $session->push('guesses-'.$language, $guess_array);
$guesses = $session->get('guesses-'.$language, NULL); $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([ return response()->json([
'guesses' => $session->get('guesses-'.$language, []), 'guesses' => $guesses,
'date' => $session->get('date'), 'date' => $session->get('date'),
'tla' => $session->get('tla') == $tla_object->acronym ? $tla_object->acronym : NULL, 'tla' => $session->get('tla') == $tla_object->acronym ? $tla_object->acronym : NULL,
'context' => $session->get('tla') == $tla_object->acronym ? $tla_object->context : NULL, 'context' => $session->get('tla') == $tla_object->acronym ? $tla_object->context : NULL,
'score' => $score, 'score' => $score,
'correct' => $session->get('correct'),
]); ]);
} }
+19 -3
View File
@@ -17,6 +17,7 @@
victory: false, victory: false,
loss: false, loss: false,
maxGuesses: 10, maxGuesses: 10,
correct: false,
}; };
}, },
@@ -28,6 +29,7 @@
this.guesses = response.data.guesses; this.guesses = response.data.guesses;
this.tla = response.data.tla; this.tla = response.data.tla;
this.context = response.data.context; this.context = response.data.context;
this.correct = response.data.correct;
}); });
}, },
@@ -50,9 +52,13 @@
this.victory = !this.victory; this.victory = !this.victory;
this.tla = response.data.tla; this.tla = response.data.tla;
this.context = response.data.context; this.context = response.data.context;
this.correct = response.data.correct;
} }
else if (this.guesses.length == this.maxGuesses) { else if (this.guesses.length == this.maxGuesses) {
this.loss = !this.loss; this.loss = !this.loss;
this.tla = response.data.tla;
this.context = response.data.context;
this.correct = response.data.correct;
} }
}) })
} }
@@ -118,12 +124,18 @@
</GuessWord> </GuessWord>
</template> </template>
</div> </div>
<template v-if="guesses.length < maxGuesses"> <template v-if="guesses.length < maxGuesses && !correct">
<form ref="main-form" @submit="onSubmit" onsubmit="return false"> <form ref="main-form" @submit="onSubmit" onsubmit="return false">
<UInput v-model="guess" @keyup="onkeyup()"/> <UInput v-model="guess" @keyup="onkeyup()"/>
</form> </form>
</template> </template>
<h3>{{ guesses.length }} / {{ maxGuesses }}</h3> <template v-if="!correct && guesses.length >= maxGuesses">
You ran out of guesses. Todays TLA was {{ tla }}
</template>
<template v-if="correct">
You completed todays TLAdle! Todays TLA was {{ tla }}
</template>
<h3>Guesses: {{ guesses.length }} / {{ maxGuesses }}</h3>
</template> </template>
</UCard> </UCard>
@@ -131,10 +143,14 @@
<Modal v-model:open="victory"> <Modal v-model:open="victory">
<h1>Congratulations!</h1> <h1>Congratulations!</h1>
Todays TLA was: {{ tla }} Todays TLA was: {{ tla }}
<h3>The context of todays TLA:</h3>
{{ context }}
</Modal> </Modal>
<Modal v-model:open="loss"> <Modal v-model:open="loss">
<h1>What a shame!</h1> <h1>What a shame!</h1>
Todays TLA was: whatever you didnt write Todays TLA was: {{ tla }}
<h3>The context of todays TLA:</h3>
{{ context }}
</Modal> </Modal>
</template> </template>