components([ // Recent Activity Section::make(__('Recent Activity')) ->icon('heroicon-o-clock') ->schema([ EmbeddedTable::make(RecentActivityTable::class), ]), ]); } protected function getHeaderActions(): array { return [ Action::make('refresh') ->label(__('Refresh')) ->icon('heroicon-o-arrow-path') ->color('gray') ->action(fn () => $this->redirect(request()->url())), Action::make('onboarding') ->label(__('Setup Wizard')) ->icon('heroicon-o-sparkles') ->visible(fn () => ! DnsSetting::get('onboarding_completed', false)) ->modalHeading(__('Welcome to Jabali!')) ->modalDescription(__('Let\'s get your server control panel set up.')) ->modalWidth('md') ->form([ TextInput::make('admin_email') ->label(__('Your Email Address')) ->helperText(__('Enter your email to receive important server notifications.')) ->email() ->placeholder(__('admin@example.com')), ]) ->modalSubmitActionLabel(__('Get Started')) ->action(function (array $data): void { if (! empty($data['admin_email'])) { DnsSetting::set('admin_email_recipients', $data['admin_email']); } DnsSetting::set('onboarding_completed', '1'); DnsSetting::clearCache(); }), ]; } }