diff --git a/app/Filament/Resources/AchievementResource.php b/app/Filament/Resources/AchievementResource.php index 194364d28..1ca237763 100644 --- a/app/Filament/Resources/AchievementResource.php +++ b/app/Filament/Resources/AchievementResource.php @@ -310,10 +310,10 @@ public static function table(Table $table): Table ->searchable() ->toggleable(isToggledHiddenByDefault: true), - Tables\Columns\TextColumn::make('DisplayOrder') - ->numeric() + Tables\Columns\TextInputColumn::make('DisplayOrder') + ->label('Display Order') ->sortable() - ->alignEnd() + ->rules(['required', 'integer']) ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('DateCreated') diff --git a/app/Filament/Resources/GameResource/RelationManagers/AchievementsRelationManager.php b/app/Filament/Resources/GameResource/RelationManagers/AchievementsRelationManager.php index 352ffa4b4..631f4856c 100644 --- a/app/Filament/Resources/GameResource/RelationManagers/AchievementsRelationManager.php +++ b/app/Filament/Resources/GameResource/RelationManagers/AchievementsRelationManager.php @@ -20,6 +20,7 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class AchievementsRelationManager extends RelationManager @@ -29,7 +30,7 @@ class AchievementsRelationManager extends RelationManager public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool { /** @var User $user */ - $user = auth()->user(); + $user = Auth::user(); if ($ownerRecord instanceof Game) { return $user->can('manage', $ownerRecord); @@ -51,7 +52,7 @@ public function form(Form $form): Form public function table(Table $table): Table { /** @var User $user */ - $user = auth()->user(); + $user = Auth::user(); return $table ->recordTitleAttribute('title') @@ -95,7 +96,9 @@ public function table(Table $table): Table ->date() ->toggleable(), - Tables\Columns\TextColumn::make('DisplayOrder') + Tables\Columns\TextInputColumn::make('DisplayOrder') + ->label('Display Order') + ->rules(['required', 'integer']) ->toggleable(), ]) ->filters([ @@ -223,7 +226,7 @@ public function table(Table $table): Table ]) ->recordUrl(function (Achievement $record): string { /** @var User $user */ - $user = auth()->user(); + $user = Auth::user(); if ($user->can('update', $record)) { return route('filament.admin.resources.achievements.edit', ['record' => $record]); @@ -254,7 +257,7 @@ public function reorderTable(array $order): void parent::reorderTable($order); /** @var User $user */ - $user = auth()->user(); + $user = Auth::user(); /** @var Game $game */ $game = $this->getOwnerRecord(); @@ -272,7 +275,7 @@ public function reorderTable(array $order): void if (!$recentReorderingActivity) { activity() ->useLog('default') - ->causedBy(auth()->user()) + ->causedBy($user) ->performedOn($game) ->event('reorderedAchievements') ->log('Reordered Achievements'); @@ -287,7 +290,7 @@ public function reorderTable(array $order): void private function canReorderAchievements(): bool { /** @var User $user */ - $user = auth()->user(); + $user = Auth::user(); /** @var Game $game */ $game = $this->getOwnerRecord(); diff --git a/app/Filament/Resources/GameResource/RelationManagers/LeaderboardsRelationManager.php b/app/Filament/Resources/GameResource/RelationManagers/LeaderboardsRelationManager.php index e82c55b37..bc7c685dc 100644 --- a/app/Filament/Resources/GameResource/RelationManagers/LeaderboardsRelationManager.php +++ b/app/Filament/Resources/GameResource/RelationManagers/LeaderboardsRelationManager.php @@ -72,10 +72,9 @@ public function table(Table $table): Table ->label('Lower Is Better') ->toggleable(isToggledHiddenByDefault: true), - Tables\Columns\TextColumn::make('DisplayOrder') + Tables\Columns\TextInputColumn::make('DisplayOrder') ->label('Display Order') - ->color(fn ($record) => $record->DisplayOrder < 0 ? 'danger' : null) - ->toggleable(), + ->rules(['required', 'integer']), ]) ->searchPlaceholder('Search (ID, Title)') ->filters([ @@ -114,7 +113,7 @@ public function table(Table $table): Table ->bulkActions([ ]) - ->paginated([25, 50, 100]) + ->paginated([50, 100, 150]) ->defaultSort(function (Builder $query): Builder { return $query ->orderBy('DisplayOrder') diff --git a/app/Filament/Resources/LeaderboardResource.php b/app/Filament/Resources/LeaderboardResource.php index 2c785ca7e..baffa82da 100644 --- a/app/Filament/Resources/LeaderboardResource.php +++ b/app/Filament/Resources/LeaderboardResource.php @@ -201,8 +201,9 @@ public static function table(Table $table): Table }); }), - Tables\Columns\TextColumn::make('DisplayOrder') + Tables\Columns\TextInputColumn::make('DisplayOrder') ->label('Display Order') + ->rules(['required', 'integer']) ->sortable() ->toggleable(), ]) diff --git a/app/Models/Achievement.php b/app/Models/Achievement.php index b73df09e5..ef565e372 100644 --- a/app/Models/Achievement.php +++ b/app/Models/Achievement.php @@ -185,6 +185,7 @@ public function getActivitylogOptions(): LogOptions 'Points', 'Title', 'type', + 'DisplayOrder', ]) ->logOnlyDirty() ->dontSubmitEmptyLogs(); diff --git a/app/Models/Leaderboard.php b/app/Models/Leaderboard.php index f60bb8dff..8455208cb 100644 --- a/app/Models/Leaderboard.php +++ b/app/Models/Leaderboard.php @@ -75,6 +75,7 @@ public function getActivitylogOptions(): LogOptions 'Description', 'Format', 'LowerIsBetter', + 'DisplayOrder', ]) ->logOnlyDirty() ->dontSubmitEmptyLogs();