record->title; } public function getMaxContentWidth(): Width | string | null { return Width::Full; } protected function getHeaderActions(): array { return [ Action::make('recalculate') ->label('İlerlemeyi Yeniden Hesapla') ->icon('heroicon-o-calculator') ->color('info') ->action(function () { $pct = $this->record->recalculateProgress(); Notification::make() ->title('Proje ilerleme yüzdesi güncellendi: %' . $pct) ->success() ->send(); }), Action::make('preview_portal') ->label('Müşteri Ekranında Gör') ->icon('heroicon-o-eye') ->color('warning') ->url(fn () => route('projects.show', $this->record->slug)) ->openUrlInNewTab(), DeleteAction::make(), ]; } protected function afterSave(): void { $this->record->recalculateProgress(); } }