default() ->id('admin') ->path('admin') ->login(Login::class) ->colors([ 'primary' => Color::Blue, 'orange' => Color::Orange, ]) ->brandLogo(function () { $key = app()->getLocale() === 'fa' ? 'listlogo_per.png' : 'listlogo_eng.png'; $attachment = \Illuminate\Support\Facades\Cache::remember( 'brand_logo_' . $key, now()->addHours(24), fn () => \App\Models\OsurgInitial::where('init_parameter', $key)->value('attachment') ); return $attachment ? asset('storage/' . $attachment) : null; }) ->brandLogoHeight('1.75rem') ->brandName('') ->favicon(asset('favicon.svg')) ->font('Vazirmatn', url: \Illuminate\Support\Facades\Vite::asset('resources/css/vazirmatn.css'), provider: \Filament\FontProviders\LocalFontProvider::class) ->renderHook( PanelsRenderHook::BODY_START, fn (): string => <<<'HTML' HTML, ) ->renderHook( PanelsRenderHook::TOPBAR_LOGO_AFTER, fn (): string => view('components.persian-datetime')->render(), ) ->renderHook( PanelsRenderHook::GLOBAL_SEARCH_BEFORE, fn (): string => \Blade::render('@livewire(\'settings-dropdown\')'), ) ->renderHook( PanelsRenderHook::BODY_END, fn (): string => <<<'HTML' HTML, ) ->renderHook( PanelsRenderHook::BODY_END, fn (): string => <<<'HTML'
1 / 1
اسکرول: زوم  |  دابل‌کلیک: ریست
HTML, ) ->userMenuItems([ Action::make('switch_language') ->label(fn () => app()->getLocale() === 'fa' ? 'English' : 'فارسی') ->icon('heroicon-o-language') ->url(fn () => route('locale.switch', app()->getLocale() === 'fa' ? 'en' : 'fa')), ]) ->navigationGroups([ NavigationGroup::make('بیماران و ویزیت'), NavigationGroup::make('بیماری‌ها و روش‌های درمان'), NavigationGroup::make('اطلاعات کلینیک'), NavigationGroup::make('تنظیمات'), ]) ->sidebarFullyCollapsibleOnDesktop() ->maxContentWidth(Width::Full) ->viteTheme('resources/css/filament/admin/theme.css') ->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources') ->plugins([ FilamentShieldPlugin::make(), ]) ->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages') ->pages([]) ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets') ->widgets([]) ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, SetLocale::class, ]) ->authMiddleware([ Authenticate::class, ]); } }