From fb5f59027ea14317f108a5dca8f18d7b206eddd9 Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Wed, 19 Aug 2026 14:27:58 +0200 Subject: [PATCH 1/6] fix incorrect prefixes on session keys --- .gitea/workflows/build-image.yaml | 2 +- app/Http/Controllers/TlaController.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build-image.yaml b/.gitea/workflows/build-image.yaml index 7f0997f..a74e03c 100644 --- a/.gitea/workflows/build-image.yaml +++ b/.gitea/workflows/build-image.yaml @@ -7,7 +7,7 @@ jobs: env: IMAGE_NAME: tladle REGISTRY_NAME: gitea.sc0tt.org - GIT_TAG: 1.2 + GIT_TAG: 1.2.1 runs-on: ubuntu-latest steps: - name: Checkout diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php index e9e657f..4e282ce 100644 --- a/app/Http/Controllers/TlaController.php +++ b/app/Http/Controllers/TlaController.php @@ -33,7 +33,7 @@ class TlaController extends Controller $session = $request->session(); if ($session->get('date-'.$language, NULL) != date('Y-m-d')) { - $session->forget('guesses--'.$language); + $session->forget('guesses-'.$language); $session->forget('tla-'.$language); $session->forget('correct-'.$language); $session->forget('review-'.$language); @@ -53,8 +53,8 @@ class TlaController extends Controller return response()->json([ 'hint' => $tla->hint, - 'guesses' => $session->get('guesses--'.$language, []), - 'date' => $session->get('date--'.$language), + 'guesses' => $session->get('guesses-'.$language, []), + 'date' => $session->get('date-'.$language), 'tla' => $session->get('tla-'.$language) == $tla->acronym ? $tla->acronym : NULL, 'context' => $session->get('tla-'.$language) == $tla->acronym ? $tla->context : NULL, 'correct' => $session->get('correct-'.$language), @@ -107,8 +107,8 @@ class TlaController extends Controller $score += $guess_array[$i + 3]; } - $session->push('guesses--'.$language, $guess_array); - $guesses = $session->get('guesses--'.$language, NULL); + $session->push('guesses-'.$language, $guess_array); + $guesses = $session->get('guesses-'.$language, NULL); if ($score == 12 || count($guesses) == env('MAX_GUESSES', 10)) { $session->put('tla-'.$language, $tla_object->acronym); From 853498e9acdaf575c220b3b0e85e07d31fba1f66 Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Fri, 21 Aug 2026 09:22:41 +0200 Subject: [PATCH 2/6] suggestion form development --- app/Http/Controllers/TlaController.php | 53 +++++------------- app/Models/TlaSuggestion.php | 2 +- ..._08_21_065241_add_suggestion_submitter.php | 26 +++++++++ resources/js/pages/HomeView.vue | 3 +- resources/js/pages/SuggestionView.vue | 54 ++++++++++++++++--- resources/views/vue.blade.php | 2 +- routes/api.php | 2 +- 7 files changed, 91 insertions(+), 51 deletions(-) create mode 100644 database/migrations/2026_08_21_065241_add_suggestion_submitter.php diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php index 4e282ce..a6c540c 100644 --- a/app/Http/Controllers/TlaController.php +++ b/app/Http/Controllers/TlaController.php @@ -3,31 +3,11 @@ namespace App\Http\Controllers; use App\Models\Tla; +use App\Models\TlaSuggestion; use Illuminate\Http\Request; class TlaController extends Controller { - public function store(Request $request): RedirectResponse - { - $request->validate([ - 'title' => 'required', - 'body' => 'required', - ]); - - $tla = new Tla($requestData); - - $tla->save(); - - return redirect()->route('admin')->with('success', 'Record added!'); - } // - - public function destroy(Tla $tla): RedirectResponse - { - $tla->delete(); - - return redirect()->route('admin')->with('success', 'Record deleted'); - } - public function session_flush(Request $request, string $language) { $session = $request->session(); @@ -125,8 +105,19 @@ class TlaController extends Controller ]); } - public function suggestion(?String $language = "en") { - + public function suggestion(Request $request, ?String $language = "en") { + $request->validate([ + 'acronym' => 'required', + 'hint' => 'required', + 'context' => 'required', + ]); + + $requestData = $request->input(); + $tla = new TlaSuggestion($requestData); + + $tla->save(); + + return response($tla); } public function review(Request $request, String $language, int $type) { @@ -161,20 +152,4 @@ class TlaController extends Controller else return response(null, 403); } - - public function update(Request $request, Tla $tla): RedirectResponse - { - $request->validate([ - 'title' => 'required', - 'body' => 'required', - ]); - - $requestData = $request->all(); - - $tla->update($requestData); - - $tla->save(); - - return redirect()->route('admin')->with('success', 'Record updated!'); - } } diff --git a/app/Models/TlaSuggestion.php b/app/Models/TlaSuggestion.php index f455d2d..aab563c 100644 --- a/app/Models/TlaSuggestion.php +++ b/app/Models/TlaSuggestion.php @@ -8,5 +8,5 @@ class TlaSuggestion extends Model { protected $table = 'tla_suggestion'; - protected $fillable = ['acronym', 'hint', 'language', 'context']; + protected $fillable = ['acronym', 'hint', 'language', 'context', 'submitter']; } diff --git a/database/migrations/2026_08_21_065241_add_suggestion_submitter.php b/database/migrations/2026_08_21_065241_add_suggestion_submitter.php new file mode 100644 index 0000000..215a1a5 --- /dev/null +++ b/database/migrations/2026_08_21_065241_add_suggestion_submitter.php @@ -0,0 +1,26 @@ +string('submitter')->default('Anonymus')->after('context'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // + } +}; diff --git a/resources/js/pages/HomeView.vue b/resources/js/pages/HomeView.vue index f2c3739..37a17e6 100644 --- a/resources/js/pages/HomeView.vue +++ b/resources/js/pages/HomeView.vue @@ -2,7 +2,7 @@ import axios from 'axios'; import GuessWord from '../components/GuessWord.vue'; import Modal from '../components/Modal.vue'; -import Review from '../components/Review.vue'; + import Review from '../components/Review.vue'; \ No newline at end of file diff --git a/resources/views/vue.blade.php b/resources/views/vue.blade.php index bec8587..7f26f39 100644 --- a/resources/views/vue.blade.php +++ b/resources/views/vue.blade.php @@ -12,7 +12,7 @@ - TLAdle + {{ config('app.name') }} @vite(['resources/js/app.js']) diff --git a/routes/api.php b/routes/api.php index e4c6734..b82fa11 100644 --- a/routes/api.php +++ b/routes/api.php @@ -7,7 +7,7 @@ Route::middleware('web')->group(function () { Route::resource('people', \App\Http\Controllers\TlaController::class); Route::get('fetch_tla/{language?}', [\App\Http\Controllers\TlaController::class, 'fetch_tla']); Route::post('check_tla/{language?}', [\App\Http\Controllers\TlaController::class, 'check_tla']); - Route::post('suggestion /{language?}', [\App\Http\Controllers\TlaController::class, 'suggestion']); + Route::post('suggestion/{language?}', [\App\Http\Controllers\TlaController::class, 'suggestion']); Route::get('fetch_dev', function() { return response()->json(['dev' => env('DEV_MESSAGE', false)]); }); From 73b0f6527a1ca5f7c4a01ce04f7b93d1d35ba6bf Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Fri, 21 Aug 2026 10:47:26 +0200 Subject: [PATCH 3/6] fix some stuff --- .../Pages/CreateTlaSuggestion.php | 11 +++ .../Pages/EditTlaSuggestion.php | 21 ++++++ .../Pages/ListTlaSuggestions.php | 19 +++++ .../Pages/ViewTlaSuggestion.php | 19 +++++ .../Schemas/TlaSuggestionForm.php | 30 ++++++++ .../Schemas/TlaSuggestionInfolist.php | 32 ++++++++ .../Tables/TlaSuggestionsTable.php | 48 ++++++++++++ .../TlaSuggestions/TlaSuggestionResource.php | 58 +++++++++++++++ app/Filament/Resources/Tlas/TlaResource.php | 22 +++++- app/Http/Controllers/TlaController.php | 1 + app/Models/Tla.php | 2 +- ..._08_21_065241_add_suggestion_submitter.php | 5 +- resources/js/pages/HomeView.vue | 10 ++- resources/js/pages/SuggestionView.vue | 74 +++++++++++-------- 14 files changed, 312 insertions(+), 40 deletions(-) create mode 100644 app/Filament/Resources/TlaSuggestions/Pages/CreateTlaSuggestion.php create mode 100644 app/Filament/Resources/TlaSuggestions/Pages/EditTlaSuggestion.php create mode 100644 app/Filament/Resources/TlaSuggestions/Pages/ListTlaSuggestions.php create mode 100644 app/Filament/Resources/TlaSuggestions/Pages/ViewTlaSuggestion.php create mode 100644 app/Filament/Resources/TlaSuggestions/Schemas/TlaSuggestionForm.php create mode 100644 app/Filament/Resources/TlaSuggestions/Schemas/TlaSuggestionInfolist.php create mode 100644 app/Filament/Resources/TlaSuggestions/Tables/TlaSuggestionsTable.php create mode 100644 app/Filament/Resources/TlaSuggestions/TlaSuggestionResource.php diff --git a/app/Filament/Resources/TlaSuggestions/Pages/CreateTlaSuggestion.php b/app/Filament/Resources/TlaSuggestions/Pages/CreateTlaSuggestion.php new file mode 100644 index 0000000..7def4ab --- /dev/null +++ b/app/Filament/Resources/TlaSuggestions/Pages/CreateTlaSuggestion.php @@ -0,0 +1,11 @@ +components([ + TextInput::make('acronym') + ->required(), + TextInput::make('hint') + ->default(null), + Select::make('language') + ->options(['hu' => 'Hu', 'en' => 'En']) + ->required(), + Textarea::make('context') + ->default(null) + ->columnSpanFull(), + TextInput::make('submitter') + ->default(null), + ]); + } +} diff --git a/app/Filament/Resources/TlaSuggestions/Schemas/TlaSuggestionInfolist.php b/app/Filament/Resources/TlaSuggestions/Schemas/TlaSuggestionInfolist.php new file mode 100644 index 0000000..ad412a1 --- /dev/null +++ b/app/Filament/Resources/TlaSuggestions/Schemas/TlaSuggestionInfolist.php @@ -0,0 +1,32 @@ +components([ + TextEntry::make('acronym'), + TextEntry::make('hint') + ->placeholder('-'), + TextEntry::make('language') + ->badge(), + TextEntry::make('context') + ->placeholder('-') + ->columnSpanFull(), + TextEntry::make('submitter') + ->placeholder('-'), + TextEntry::make('created_at') + ->dateTime() + ->placeholder('-'), + TextEntry::make('updated_at') + ->dateTime() + ->placeholder('-'), + ]); + } +} diff --git a/app/Filament/Resources/TlaSuggestions/Tables/TlaSuggestionsTable.php b/app/Filament/Resources/TlaSuggestions/Tables/TlaSuggestionsTable.php new file mode 100644 index 0000000..93a1221 --- /dev/null +++ b/app/Filament/Resources/TlaSuggestions/Tables/TlaSuggestionsTable.php @@ -0,0 +1,48 @@ +columns([ + TextColumn::make('acronym') + ->searchable(), + TextColumn::make('hint') + ->searchable(), + TextColumn::make('language') + ->badge(), + TextColumn::make('submitter') + ->searchable(), + TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->recordActions([ + ViewAction::make(), + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/TlaSuggestions/TlaSuggestionResource.php b/app/Filament/Resources/TlaSuggestions/TlaSuggestionResource.php new file mode 100644 index 0000000..df1e486 --- /dev/null +++ b/app/Filament/Resources/TlaSuggestions/TlaSuggestionResource.php @@ -0,0 +1,58 @@ + ListTlaSuggestions::route('/'), + 'create' => CreateTlaSuggestion::route('/create'), + 'view' => ViewTlaSuggestion::route('/{record}'), + 'edit' => EditTlaSuggestion::route('/{record}/edit'), + ]; + } +} diff --git a/app/Filament/Resources/Tlas/TlaResource.php b/app/Filament/Resources/Tlas/TlaResource.php index 1636213..4b84973 100644 --- a/app/Filament/Resources/Tlas/TlaResource.php +++ b/app/Filament/Resources/Tlas/TlaResource.php @@ -25,7 +25,7 @@ class TlaResource extends Resource protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack; - protected static ?string $recordTitleAttribute = 'tla'; + protected static ?string $recordTitleAttribute = 'Tla'; public static function form(Schema $schema): Schema { @@ -42,13 +42,23 @@ class TlaResource extends Resource Textarea::make('context') ->default(null) ->columnSpanFull(), + TextInput::make('submitter') + ->default(null), + TextInput::make('likes') + ->required() + ->numeric() + ->default(0), + TextInput::make('dislikes') + ->required() + ->numeric() + ->default(0), ]); } public static function table(Table $table): Table { return $table - ->recordTitleAttribute('tla') + ->recordTitleAttribute('Tla') ->columns([ TextColumn::make('acronym') ->searchable(), @@ -59,6 +69,14 @@ class TlaResource extends Resource TextColumn::make('used') ->date() ->sortable(), + TextColumn::make('submitter') + ->searchable(), + TextColumn::make('likes') + ->numeric() + ->sortable(), + TextColumn::make('dislikes') + ->numeric() + ->sortable(), TextColumn::make('created_at') ->dateTime() ->sortable() diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php index a6c540c..d3ec374 100644 --- a/app/Http/Controllers/TlaController.php +++ b/app/Http/Controllers/TlaController.php @@ -37,6 +37,7 @@ class TlaController extends Controller 'date' => $session->get('date-'.$language), 'tla' => $session->get('tla-'.$language) == $tla->acronym ? $tla->acronym : NULL, 'context' => $session->get('tla-'.$language) == $tla->acronym ? $tla->context : NULL, + 'submitter' => $tla->submitter, 'correct' => $session->get('correct-'.$language), ]); } diff --git a/app/Models/Tla.php b/app/Models/Tla.php index 0b26bcc..366c5f4 100644 --- a/app/Models/Tla.php +++ b/app/Models/Tla.php @@ -11,7 +11,7 @@ class Tla extends Model use HasFactory; - protected $fillable = ['acronym', 'hint', 'language', 'used', 'context', 'likes', 'dislikes']; + protected $fillable = ['acronym', 'hint', 'language', 'used', 'context', 'submitter', 'likes', 'dislikes']; public static function GetCurrentTla( string $language ) : Tla { $tla = Tla::where('used', date("Y-m-d")) diff --git a/database/migrations/2026_08_21_065241_add_suggestion_submitter.php b/database/migrations/2026_08_21_065241_add_suggestion_submitter.php index 215a1a5..80cf944 100644 --- a/database/migrations/2026_08_21_065241_add_suggestion_submitter.php +++ b/database/migrations/2026_08_21_065241_add_suggestion_submitter.php @@ -12,7 +12,10 @@ return new class extends Migration public function up(): void { Schema::table('tla_suggestion', function (Blueprint $table){ - $table->string('submitter')->default('Anonymus')->after('context'); + $table->string('submitter')->nullable()->after('context'); + }); + Schema::table('tla', function (Blueprint $table){ + $table->string('submitter')->nullable()->after('context'); }); } diff --git a/resources/js/pages/HomeView.vue b/resources/js/pages/HomeView.vue index 37a17e6..4b61536 100644 --- a/resources/js/pages/HomeView.vue +++ b/resources/js/pages/HomeView.vue @@ -93,7 +93,6 @@ - - + +
+ + Suggest a TLA! +

Congratulations!

@@ -138,6 +139,7 @@

The context of todays TLA:

{{ context }}
+ diff --git a/resources/js/pages/SuggestionView.vue b/resources/js/pages/SuggestionView.vue index 4e5acb4..5bb8b1e 100644 --- a/resources/js/pages/SuggestionView.vue +++ b/resources/js/pages/SuggestionView.vue @@ -1,35 +1,40 @@ + + @@ -46,6 +51,7 @@