group('admin', [ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, ShareErrorsFromSession::class, ValidateCsrfToken::class, SubstituteBindings::class, SecurityHeaders::class, 'auth', ]); } public function register(): void { $this->app->singleton(AdminMenuRegistry::class); } public function boot(): void { // Register admin:: namespace for admin shell components $this->loadViewsFrom(__DIR__.'/Blade', 'admin'); Blade::anonymousComponentPath(__DIR__.'/Blade', 'admin'); // Register class-backed components Blade::component('admin-activity-feed', ActivityFeed::class); Blade::component('admin-activity-log', ActivityLog::class); Blade::component('admin-alert', Alert::class); Blade::component('admin-card-grid', CardGrid::class); Blade::component('admin-clear-filters', ClearFilters::class); Blade::component('admin-data-table', DataTable::class); Blade::component('admin-editable-table', EditableTable::class); Blade::component('admin-filter', Filter::class); Blade::component('admin-filter-bar', FilterBar::class); Blade::component('admin-link-grid', LinkGrid::class); Blade::component('admin-manager-table', ManagerTable::class); Blade::component('admin-metrics', Metrics::class); Blade::component('admin-progress-list', ProgressList::class); Blade::component('admin-search', Search::class); Blade::component('admin-service-card', ServiceCard::class); Blade::component('admin-sidemenu', Sidemenu::class); Blade::component('admin-stats', Stats::class); Blade::component('admin-status-cards', StatusCards::class); // Register tag compiler (like ) $this->bootTagCompiler(); // Fire AdminPanelBooting event for lazy-loaded modules LifecycleEventProvider::fireAdminBooting(); } /** * Register the custom tag compiler. */ protected function bootTagCompiler(): void { $compiler = new AdminTagCompiler( app('blade.compiler')->getClassComponentAliases(), app('blade.compiler')->getClassComponentNamespaces(), app('blade.compiler') ); app('blade.compiler')->precompiler(function (string $value) use ($compiler) { return $compiler->compile($value); }); } }