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 @@