components([ TextInput::make('headline') ->label('Sözbaşy') ->required() ->columnSpanFull(), Textarea::make('subheadline') ->label('Ikinji sözbaşy') ->rows(2) ->columnSpanFull(), TextInput::make('cta_label') ->label('Düwme ýazgysy'), TextInput::make('cta_url') ->label('Düwme URL') ->url(), FileUpload::make('image') ->label('Surat') ->image() ->disk('public') ->directory('hero-slides') ->columnSpanFull(), TextInput::make('sort_order') ->label('Tertip') ->required() ->numeric() ->default(0), Toggle::make('is_active') ->label('Işjeň') ->default(true), ]); } public static function table(Table $table): Table { return $table ->columns([ ImageColumn::make('image') ->label('Surat') ->disk('public') ->circular(), TextColumn::make('headline') ->label('Sözbaşy') ->searchable() ->limit(40), TextColumn::make('cta_label') ->label('Düwme') ->searchable(), TextColumn::make('sort_order') ->label('Tertip') ->numeric() ->sortable(), IconColumn::make('is_active') ->label('Işjeň') ->boolean(), TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->defaultSort('sort_order') ->filters([]) ->recordActions([ EditAction::make(), DeleteAction::make(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } public static function getPages(): array { return [ 'index' => ManageHeroSlides::route('/'), ]; } }