icon('home'), MenuSection::make('Questionnaire', [ MenuItem::resource(QuestionResource::class), MenuItem::resource(QuestionGroupResource::class), MenuItem::resource(CategoryResource::class), MenuItem::resource(SessionResource::class), MenuItem::resource(ScreeningResource::class), ])->icon('clipboard-document-list')->collapsible(), MenuSection::make('Logs', [ MenuItem::resource(LogResource::class), ])->icon('chart-bar')->collapsible(), MenuSection::make('Users', [ MenuItem::resource(\App\Nova\User::class), ])->icon('users')->collapsible(), ]; }); } /** * Register the configurations for Laravel Fortify. */ protected function fortify(): void { Nova::fortify() ->features([ Features::updatePasswords(), Features::emailVerification(), Features::twoFactorAuthentication(['confirm' => true, 'confirmPassword' => true]), ]) ->register(); } /** * Register the Nova routes. */ protected function routes(): void { Nova::routes() ->withAuthenticationRoutes(default: false) ->withPasswordResetRoutes() ->withEmailVerificationRoutes() ->register(); } /** * Register the Nova gate. * * This gate determines who can access Nova in non-local environments. */ protected function gate(): void { Gate::define('viewNova', function (User $user) { return $user->role?->name === 'admin'; }); } /** * Get the dashboards that should be listed in the Nova sidebar. * * @return array */ protected function dashboards(): array { return [ new \App\Nova\Dashboards\Main, ]; } /** * Get the tools that should be listed in the Nova sidebar. * * @return array */ public function tools(): array { return []; } /** * Register any application services. */ public function register(): void { parent::register(); // } }