schema([ UserFormFields::name(), UserFormFields::email(), UserFormFields::password(fn ($livewire) => $livewire instanceof Pages\CreateUser), UserFormFields::status(), UserFormFields::roles(), ]); } public static function table(Table $table): Table { return $table->columns([ TextColumn::make('id')->sortable(), TextColumn::make('name')->searchable()->sortable(), TextColumn::make('email')->searchable()->sortable(), TextColumn::make('roles.name')->badge()->label('Roles'), StateFusionSelectColumn::make('status'), TextColumn::make('created_at')->dateTime()->sortable(), ])->defaultSort('id', 'desc')->filters([ StateFusionSelectFilter::make('status'), ])->actions([ EditAction::make(), Action::make('activities') ->icon('heroicon-o-clock') ->url(fn (User $record): string => static::getUrl('activities', ['record' => $record])), Impersonate::make(), DeleteAction::make(), ]); } public static function getPages(): array { return [ 'index' => Pages\ListUsers::route('/'), 'create' => Pages\CreateUser::route('/create'), 'activities' => Pages\ListUserActivities::route('/{record}/activities'), 'edit' => Pages\EditUser::route('/{record}/edit'), ]; } }