Add touch-ready Filament login and admin update tooling

This commit is contained in:
soeren
2026-01-18 15:34:16 +01:00
parent 6f6ea8b24f
commit 30ca8082b3
31 changed files with 1940 additions and 1159 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Filament\Resources\Users;
use App\Models\User;
use BackedEnum;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteBulkAction;
@@ -16,7 +17,6 @@ use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use UnitEnum;
use BackedEnum;
class UserResource extends Resource
{
@@ -50,6 +50,20 @@ class UserResource extends Resource
->dehydrated(fn (?string $state): bool => filled($state))
->required(fn (string $operation): bool => $operation === 'create')
->maxLength(255),
TextInput::make('admin_pin_hash')
->label('Admin PIN')
->password()
->revealable()
->dehydrateStateUsing(fn (?string $state): ?string => filled($state) ? bcrypt($state) : null)
->dehydrated(fn (?string $state): bool => filled($state))
->afterStateHydrated(function (TextInput $component): void {
$component->state(null);
})
->nullable()
->rule('regex:/^\\d+$/')
->minLength(4)
->maxLength(8)
->helperText('Leave blank to keep the current PIN.'),
Select::make('role_id')
->label(__('filament.resource.user.form.role'))
->relationship('role', 'name')