mergeConfigFrom( __DIR__ . '/../../config/workshop.php', 'workshop' ); } /** * Bootstrap any application services. * * @return void */ public function boot() { // Register observers RepairOrder::observe(RepairOrderObserver::class); Vehicle::observe(VehicleObserver::class); Part::observe(PartObserver::class); // Publish config $this->publishes([ __DIR__ . '/../../config/workshop.php' => config_path('workshop.php'), ], 'workshop-config'); // Configure Nova menu Nova::mainMenu(function () { return [ MenuSection::dashboard(WorkshopDashboard::class)->icon('chart-bar'), MenuSection::make('Fleet Management', [ MenuItem::resource('App\Nova\Vehicle'), MenuItem::resource('App\Nova\MaintenanceSchedule'), MenuItem::link('Vehicles Due Maintenance', '/resources/vehicles/lens/vehicles-due-for-maintenance'), ])->icon('truck')->collapsable(), MenuSection::make('Repairs', [ MenuItem::resource('App\Nova\RepairOrder'), MenuItem::resource('App\Nova\RepairTask'), ])->icon('wrench')->collapsable(), MenuSection::make('Inventory', [ MenuItem::resource('App\Nova\Part'), MenuItem::link('Low Stock Parts', '/resources/parts/lens/low-inventory-parts'), ])->icon('archive')->collapsable(), MenuSection::make('Staff', [ MenuItem::resource('App\Nova\Technician'), ])->icon('user-group')->collapsable(), MenuSection::make('Documents', [ MenuItem::resource('App\Nova\Document'), ])->icon('document-text')->collapsable(), ]; }); } }