From 5d5250287d4ce6897bf030ace6bdc0b62d84e790 Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Thu, 27 Aug 2026 22:33:19 +0200 Subject: [PATCH] wordle backend and some frontend changes --- app/Http/Controllers/TlaController.php | 14 +++++++ app/Models/Tla.php | 4 +- resources/js/components/GuessWord.vue | 35 ++++++++++++++--- resources/js/components/Wordle.vue | 26 ++++++------- resources/js/components/WordleRow.vue | 6 +-- resources/js/pages/HomeView.vue | 54 ++++++++++++++------------ 6 files changed, 92 insertions(+), 47 deletions(-) diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php index d3ec374..a8af4f8 100644 --- a/app/Http/Controllers/TlaController.php +++ b/app/Http/Controllers/TlaController.php @@ -17,6 +17,7 @@ class TlaController extends Controller $session->forget('tla-'.$language); $session->forget('correct-'.$language); $session->forget('review-'.$language); + $session->put('tla-array-'.$language, ['', '', '']); $session->put('date-'.$language, date('Y-m-d')); } } @@ -27,6 +28,9 @@ class TlaController extends Controller if ( !in_array($language, $allowedLanguages) ) $language = 'en'; $tla = Tla::GetCurrentTla($language); + + if ($tla == NULL) return response()->json([ 'no_tla' => true ]); + $this->session_flush($request, $language); $session = $request->session(); @@ -39,6 +43,7 @@ class TlaController extends Controller 'context' => $session->get('tla-'.$language) == $tla->acronym ? $tla->context : NULL, 'submitter' => $tla->submitter, 'correct' => $session->get('correct-'.$language), + 'tla_array' => ['','',''], ]); } @@ -96,6 +101,14 @@ class TlaController extends Controller if ($score == 12) $session->put('correct-'.$language, true); } + $tla_array = $session->get('tla-array-'.$language); + + for ($i = 0; $i < 3; $i++) { + if ($tla_array[$i] == "" && $guess_array[$i + 3] == 2) $tla_array[$i] = $tla[$i]; + } + + $session->put('tla-array-'.$language, $tla_array); + return response()->json([ 'guesses' => $guesses, 'date' => $session->get('date'), @@ -103,6 +116,7 @@ class TlaController extends Controller 'context' => $session->get('tla-'.$language) == $tla_object->acronym ? $tla_object->context : NULL, 'score' => $score, 'correct' => $session->get('correct-'.$language), + 'tla_array' => $tla_array, ]); } diff --git a/app/Models/Tla.php b/app/Models/Tla.php index 366c5f4..638b86f 100644 --- a/app/Models/Tla.php +++ b/app/Models/Tla.php @@ -13,7 +13,7 @@ class Tla extends Model protected $fillable = ['acronym', 'hint', 'language', 'used', 'context', 'submitter', 'likes', 'dislikes']; - public static function GetCurrentTla( string $language ) : Tla { + public static function GetCurrentTla( string $language ) { $tla = Tla::where('used', date("Y-m-d")) ->where('language', $language) ->first(); @@ -24,6 +24,8 @@ class Tla extends Model ->inRandomOrder() ->first(); + if ($tla == NULL) return NULL; + $tla->used = date("Y-m-d"); $tla->save(); } diff --git a/resources/js/components/GuessWord.vue b/resources/js/components/GuessWord.vue index 1c0bed4..f75a108 100644 --- a/resources/js/components/GuessWord.vue +++ b/resources/js/components/GuessWord.vue @@ -1,20 +1,43 @@ diff --git a/resources/js/components/Wordle.vue b/resources/js/components/Wordle.vue index deebc2f..49769bd 100644 --- a/resources/js/components/Wordle.vue +++ b/resources/js/components/Wordle.vue @@ -5,19 +5,19 @@
@@ -35,7 +35,6 @@ max_guesses: 10, open: true, guess: '', - length: 8, guesses: [''], } }, @@ -43,11 +42,12 @@ correct: { type: String, default: 'nagyonhosszezugyselesz' - } + }, + }, methods: { onsubmit () { - if (this.guess.length == this.length) { + if (this.guess.length == this.correct.length) { this.guesses.push(this.guess); this.guess = ''; } diff --git a/resources/js/components/WordleRow.vue b/resources/js/components/WordleRow.vue index 86e3f5e..a6ad8b3 100644 --- a/resources/js/components/WordleRow.vue +++ b/resources/js/components/WordleRow.vue @@ -4,9 +4,9 @@ diff --git a/resources/js/pages/HomeView.vue b/resources/js/pages/HomeView.vue index a4f1ec9..0f05514 100644 --- a/resources/js/pages/HomeView.vue +++ b/resources/js/pages/HomeView.vue @@ -11,8 +11,9 @@ import Wordle from '../components/Wordle.vue'; data() { return { hint: ' ', - guesses: [' '], - words: [' '], + guesses: [''], + words: [''], + correct_words: [''], guess: '', tla: '', context: '', @@ -21,6 +22,7 @@ import Wordle from '../components/Wordle.vue'; loss: false, maxGuesses: 10, correct: false, + no_tla: false, }; }, @@ -28,12 +30,15 @@ import Wordle from '../components/Wordle.vue'; axios .get('/api/fetch_tla/en') .then(response => { - this.hint = response.data.hint; - this.submitter = response.data.submitter; - this.guesses = response.data.guesses; - this.tla = response.data.tla; - this.context = response.data.context; - this.correct = response.data.correct; + if (response.data.no_tla) this.no_tla = true; + else { + this.hint = response.data.hint; + this.submitter = response.data.submitter; + this.guesses = response.data.guesses; + this.tla = response.data.tla; + this.context = response.data.context; + this.correct = response.data.correct; + } }); }, @@ -85,26 +90,25 @@ import Wordle from '../components/Wordle.vue'; - - -