check() && auth()->user()->role === UserRole::ORGA) { $query->where('creator_id', auth()->id()); } return $query; } protected static ?string $model = Hunts::class; protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-map'; public static function form(Schema $schema): Schema { return $schema ->components([ TextInput::make('title') ->required() ->maxLength(255), Textarea::make('description') ->columnSpanFull(), Select::make('status') ->options(HuntStatus::class) ->required(), Select::make('difficulty') ->options(HuntDifficulty::class) ->required(), TextInput::make('slug') ->required(), TextInput::make('city') ->required() ->maxLength(255), DateTimePicker::make('start_at'), DateTimePicker::make('end_at'), TextInput::make('latitude') ->numeric(), TextInput::make('longitude') ->numeric(), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('title') ->searchable(), Tables\Columns\TextColumn::make('status') ->searchable(), Tables\Columns\TextColumn::make('difficulty'), Tables\Columns\TextColumn::make('city') ->searchable(), Tables\Columns\TextColumn::make('start_at') ->dateTime() ->sortable(), Tables\Columns\TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ // ]) ->actions([ EditAction::make(), ]) ->bulkActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ RelationManagers\StepsRelationManager::class, RelationManagers\ParticipantsRelationManager::class, ]; } public static function getPages(): array { return [ 'index' => ListHunts::route('/'), 'create' => CreateHunts::route('/create'), 'edit' => EditHunts::route('/{record}/edit'), ]; } }