schema([ Forms\Components\Card::make() ->schema([ TextInput::make('title') ->required() ->maxLength(255) ->reactive() ->afterStateUpdated(fn (string $operation, $state, Forms\Set $set) => $operation === 'create' ? $set('slug', Str::slug($state)) : null), TextInput::make('slug') ->required() ->maxLength(255) ->disabled() ->dehydrated() ->unique(Success::class, 'slug', ignoreRecord: true), FileUpload::make('image') ->label('Image 1100x660') ->image() ->directory('success') ->nullable() ->columnSpanFull(), RichEditor::make('content') ->required() ->columnSpanFull(), DateTimePicker::make('published_at') ->required() ->default(now()), ]) ->columns(2), ]); } public static function table(Table $table): Table { return $table ->columns([ ImageColumn::make('image') ->square() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('title') ->searchable() ->sortable(), Tables\Columns\TextColumn::make('slug') ->searchable() ->sortable(), Tables\Columns\TextColumn::make('published_at') ->dateTime() ->sortable(), Tables\Columns\TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), Tables\Actions\DeleteAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListSuccesses::route('/'), 'create' => Pages\CreateSuccess::route('/create'), 'edit' => Pages\EditSuccess::route('/{record}/edit'), ]; } }