diff --git a/app/Filament/PageList.php b/app/Filament/PageList.php index a1507d1c..ae28ce43 100644 --- a/app/Filament/PageList.php +++ b/app/Filament/PageList.php @@ -3,6 +3,7 @@ namespace App\Filament; use Filament\Resources\Pages\ListRecords; +use Filament\Tables\Filters\Layout; use Illuminate\Database\Eloquent\Model; class PageList extends ListRecords @@ -15,4 +16,9 @@ class PageList extends ListRecords return null; }; } + + protected function getTableFiltersLayout(): ?string + { + return Layout::AboveContent; + } } diff --git a/app/Filament/PageListSingle.php b/app/Filament/PageListSingle.php new file mode 100644 index 00000000..f75df167 --- /dev/null +++ b/app/Filament/PageListSingle.php @@ -0,0 +1,16 @@ +label(__('label.seed_box_record.status')), ]) ->filters([ + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , Tables\Filters\SelectFilter::make('type')->options(SeedBoxRecord::listTypes('text'))->label(__('label.seed_box_record.type')), Tables\Filters\SelectFilter::make('status')->options(SeedBoxRecord::listStatus('text'))->label(__('label.seed_box_record.status')), ]) diff --git a/app/Filament/Resources/System/UsernameChangeLogResource.php b/app/Filament/Resources/System/UsernameChangeLogResource.php index aff1d66b..b31a4b35 100644 --- a/app/Filament/Resources/System/UsernameChangeLogResource.php +++ b/app/Filament/Resources/System/UsernameChangeLogResource.php @@ -65,6 +65,16 @@ class UsernameChangeLogResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , Tables\Filters\SelectFilter::make('change_type')->options(UsernameChangeLog::listChangeType())->label(__('username-change-log.labels.change_type')), ]) ->actions([ diff --git a/app/Filament/Resources/System/UsernameChangeLogResource/Pages/ManageUsernameChangeLogs.php b/app/Filament/Resources/System/UsernameChangeLogResource/Pages/ManageUsernameChangeLogs.php index c34d4cee..8dee8b4e 100644 --- a/app/Filament/Resources/System/UsernameChangeLogResource/Pages/ManageUsernameChangeLogs.php +++ b/app/Filament/Resources/System/UsernameChangeLogResource/Pages/ManageUsernameChangeLogs.php @@ -2,14 +2,13 @@ namespace App\Filament\Resources\System\UsernameChangeLogResource\Pages; +use App\Filament\PageListSingle; use App\Filament\Resources\System\UsernameChangeLogResource; use Filament\Pages\Actions; use Filament\Resources\Pages\ManageRecords; -class ManageUsernameChangeLogs extends ManageRecords +class ManageUsernameChangeLogs extends PageListSingle { - protected ?string $maxContentWidth = 'full'; - protected static string $resource = UsernameChangeLogResource::class; protected function getActions(): array diff --git a/app/Filament/Resources/Torrent/TorrentResource.php b/app/Filament/Resources/Torrent/TorrentResource.php index 04771692..41fb6bbf 100644 --- a/app/Filament/Resources/Torrent/TorrentResource.php +++ b/app/Filament/Resources/Torrent/TorrentResource.php @@ -92,9 +92,13 @@ class TorrentResource extends Resource Tables\Columns\BooleanColumn::make('hr') ->label(__('label.torrent.hr')) , - Tables\Columns\TextColumn::make('size')->label(__('label.torrent.size'))->formatStateUsing(fn ($state) => mksize($state)), - Tables\Columns\TextColumn::make('seeders')->label(__('label.torrent.seeders')), - Tables\Columns\TextColumn::make('leechers')->label(__('label.torrent.leechers')), + Tables\Columns\TextColumn::make('size') + ->label(__('label.torrent.size')) + ->formatStateUsing(fn ($state) => mksize($state)) + ->sortable() + , + Tables\Columns\TextColumn::make('seeders')->label(__('label.torrent.seeders'))->sortable(), + Tables\Columns\TextColumn::make('leechers')->label(__('label.torrent.leechers'))->sortable(), Tables\Columns\BadgeColumn::make('approval_status') ->visible($showApproval) ->label(__('label.torrent.approval_status')) @@ -108,6 +112,17 @@ class TorrentResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ + Tables\Filters\Filter::make('owner') + ->form([ + Forms\Components\TextInput::make('owner') + ->label(__('label.torrent.owner')) + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['owner'], fn (Builder $query, $owner) => $query->where("owner", $owner)); + }) + , + Tables\Filters\SelectFilter::make('visible') ->options(self::$yesOrNo) ->label(__('label.torrent.visible')), diff --git a/app/Filament/Resources/Torrent/TorrentResource/Pages/ListTorrents.php b/app/Filament/Resources/Torrent/TorrentResource/Pages/ListTorrents.php index e9f4e076..55da176d 100644 --- a/app/Filament/Resources/Torrent/TorrentResource/Pages/ListTorrents.php +++ b/app/Filament/Resources/Torrent/TorrentResource/Pages/ListTorrents.php @@ -7,6 +7,7 @@ use App\Filament\Resources\Torrent\TorrentResource; use Filament\Pages\Actions; use Filament\Resources\Pages\ListRecords; + class ListTorrents extends PageList { protected static string $resource = TorrentResource::class; @@ -17,4 +18,6 @@ class ListTorrents extends PageList // Actions\CreateAction::make(), ]; } + + } diff --git a/app/Filament/Resources/User/ClaimResource.php b/app/Filament/Resources/User/ClaimResource.php index 0bc70183..33633c6c 100644 --- a/app/Filament/Resources/User/ClaimResource.php +++ b/app/Filament/Resources/User/ClaimResource.php @@ -65,7 +65,16 @@ class ClaimResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ - // + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , ]) ->actions([ // Tables\Actions\EditAction::make(), diff --git a/app/Filament/Resources/User/ExamUserResource.php b/app/Filament/Resources/User/ExamUserResource.php index 9d439447..387597eb 100644 --- a/app/Filament/Resources/User/ExamUserResource.php +++ b/app/Filament/Resources/User/ExamUserResource.php @@ -4,6 +4,7 @@ namespace App\Filament\Resources\User; use App\Filament\Resources\User\ExamUserResource\Pages; use App\Filament\Resources\User\ExamUserResource\RelationManagers; +use App\Models\Exam; use App\Models\ExamUser; use App\Repositories\ExamRepository; use App\Repositories\HitAndRunRepository; @@ -66,6 +67,20 @@ class ExamUserResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , + Tables\Filters\SelectFilter::make('exam_id') + ->options(Exam::query()->pluck('name', 'id')->toArray()) + ->label(__('exam.label')) + , Tables\Filters\SelectFilter::make('status')->options(ExamUser::listStatus(true))->label(__("label.status")), Tables\Filters\SelectFilter::make('is_done')->options(['0' => 'No', '1' => 'yes'])->label(__('label.exam_user.is_done')), ]) diff --git a/app/Filament/Resources/User/HitAndRunResource.php b/app/Filament/Resources/User/HitAndRunResource.php index dc90ede1..94558ec0 100644 --- a/app/Filament/Resources/User/HitAndRunResource.php +++ b/app/Filament/Resources/User/HitAndRunResource.php @@ -59,6 +59,16 @@ class HitAndRunResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , Tables\Filters\SelectFilter::make('status')->options(HitAndRun::listStatus(true))->label(__('label.status')), ]) ->actions([ diff --git a/app/Filament/Resources/User/UserMedalResource.php b/app/Filament/Resources/User/UserMedalResource.php index 9ef4f34b..4d2b59c4 100644 --- a/app/Filament/Resources/User/UserMedalResource.php +++ b/app/Filament/Resources/User/UserMedalResource.php @@ -4,6 +4,7 @@ namespace App\Filament\Resources\User; use App\Filament\Resources\User\UserMedalResource\Pages; use App\Filament\Resources\User\UserMedalResource\RelationManagers; +use App\Models\Medal; use App\Models\UserMedal; use Filament\Forms; use Filament\Resources\Form; @@ -59,7 +60,20 @@ class UserMedalResource extends Resource ]) ->defaultSort('id', 'desc') ->filters([ - + Tables\Filters\Filter::make('uid') + ->form([ + Forms\Components\TextInput::make('uid') + ->label('UID') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); + }) + , + Tables\Filters\SelectFilter::make('medal_id') + ->options(Medal::query()->pluck('name', 'id')->toArray()) + ->label(__('medal.label')) + , ]) ->actions([ Tables\Actions\DeleteAction::make(), diff --git a/app/Filament/Resources/User/UserResource.php b/app/Filament/Resources/User/UserResource.php index 9e32fc54..a0a6417a 100644 --- a/app/Filament/Resources/User/UserResource.php +++ b/app/Filament/Resources/User/UserResource.php @@ -80,6 +80,15 @@ class UserResource extends Resource ]) ->defaultSort('added', 'desc') ->filters([ + Tables\Filters\Filter::make('id') + ->form([ + Forms\Components\TextInput::make('id') + ->placeholder('UID') + , + ])->query(function (Builder $query, array $data) { + return $query->when($data['id'], fn (Builder $query, $id) => $query->where("id", $id)); + }) + , Tables\Filters\SelectFilter::make('class')->options(array_column(User::$classes, 'text'))->label(__('label.user.class')), Tables\Filters\SelectFilter::make('status')->options(['confirmed' => 'confirmed', 'pending' => 'pending'])->label(__('label.user.status')), Tables\Filters\SelectFilter::make('enabled')->options(self::$yesOrNo)->label(__('label.user.enabled')), diff --git a/app/Filament/Resources/User/UserResource/Pages/ListUsers.php b/app/Filament/Resources/User/UserResource/Pages/ListUsers.php index 897de5d4..bf81f3fb 100644 --- a/app/Filament/Resources/User/UserResource/Pages/ListUsers.php +++ b/app/Filament/Resources/User/UserResource/Pages/ListUsers.php @@ -7,6 +7,7 @@ use App\Filament\Resources\User\UserResource; use Filament\Pages\Actions; use Filament\Resources\Pages\ListRecords; use Illuminate\Database\Eloquent\Model; +use Filament\Tables\Filters\Layout; class ListUsers extends PageList { @@ -25,6 +26,9 @@ class ListUsers extends PageList // } - + protected function getTableFiltersLayout(): ?string + { + return Layout::AboveContent; + } } diff --git a/nexus/Install/settings.default.php b/nexus/Install/settings.default.php index ed7f04d5..1f8398ea 100644 --- a/nexus/Install/settings.default.php +++ b/nexus/Install/settings.default.php @@ -304,7 +304,7 @@ return array ( 8 => '5', 9 => '10', ), - 'destroy_disabled' => 500, + 'destroy_disabled' => 0, ), 'torrent' => array ( diff --git a/resources/lang/en/exam.php b/resources/lang/en/exam.php index c6c48728..b5163037 100644 --- a/resources/lang/en/exam.php +++ b/resources/lang/en/exam.php @@ -1,6 +1,7 @@ 'Exam', 'name' => 'Exam name', 'index' => 'Exam index', 'time_range' => 'Exam time', diff --git a/resources/lang/en/medal.php b/resources/lang/en/medal.php index 9c953e4d..1800bd16 100644 --- a/resources/lang/en/medal.php +++ b/resources/lang/en/medal.php @@ -1,6 +1,7 @@ 'Medal', 'action_wearing' => 'Wear', 'admin' => [ 'list' => [ diff --git a/resources/lang/zh_CN/exam.php b/resources/lang/zh_CN/exam.php index bff1252e..fd488e0d 100644 --- a/resources/lang/zh_CN/exam.php +++ b/resources/lang/zh_CN/exam.php @@ -1,6 +1,7 @@ '考核', 'name' => '考核名称', 'index' => '考核指标', 'time_range' => '考核时间', diff --git a/resources/lang/zh_CN/medal.php b/resources/lang/zh_CN/medal.php index 7993d4e5..b3099d15 100644 --- a/resources/lang/zh_CN/medal.php +++ b/resources/lang/zh_CN/medal.php @@ -1,6 +1,7 @@ '勋章', 'action_wearing' => '佩戴', 'admin' => [ 'list' => [ diff --git a/resources/lang/zh_TW/exam.php b/resources/lang/zh_TW/exam.php index e6e5a1b7..21490e57 100644 --- a/resources/lang/zh_TW/exam.php +++ b/resources/lang/zh_TW/exam.php @@ -1,6 +1,7 @@ '考核', 'name' => '考核名稱', 'index' => '考核指標', 'time_range' => '考核時間', diff --git a/resources/lang/zh_TW/medal.php b/resources/lang/zh_TW/medal.php index 3f6af04a..3ec07fd5 100644 --- a/resources/lang/zh_TW/medal.php +++ b/resources/lang/zh_TW/medal.php @@ -1,6 +1,7 @@ '勛章', 'action_wearing' => '佩戴', 'admin' => [ 'list' => [