{{ config('app.name', 'WhatsMine') }}
@php
try {
$faviconPath = \App\Models\SystemSetting::get('app_favicon_path');
// Honor the disk the favicon was actually saved to (may be a cloud
// provider). Hardcoding 'public' produced a wrong/404 URL whenever
// the active storage disk was not the local public one.
$faviconDisk = \App\Models\SystemSetting::get('app_favicon_disk', 'public');
if ($faviconPath) {
app(\App\Services\StorageManager::class)->ensureDiskReady($faviconDisk);
$faviconUrl = \Illuminate\Support\Facades\Storage::disk($faviconDisk)->url($faviconPath);
} else {
$faviconUrl = null;
}
} catch (\Throwable) {
$faviconUrl = null;
}
@endphp
@if($faviconUrl)
@else
{{-- Fallback brand icon: SVG for modern browsers, .ico for legacy,
PNG apple-touch for iOS home-screen. See public/whatsmine-icon.svg. --}}
@endif
{{-- Anek Bangla for Bengali script. The Bengali glyph files are lazy-loaded
by unicode-range, so they're only fetched when bn text actually renders
(i.e. html[lang="bn"]); keeping the link unconditional means a client-side
locale switch picks it up without a full page reload. --}}
@if(config('services.onesignal.app_id'))
@endif
@php
// Guarded: integration_configs may be unreadable during first-run install.
try {
$metaAppId = \App\Modules\Integrations\Services\CredentialResolver::system()->meta()?->appId();
} catch (\Throwable) {
$metaAppId = null;
}
@endphp
@if($metaAppId)
@endif
@routes
@viteReactRefresh
@vite(['resources/js/app.jsx', 'resources/js/Pages/' . (isset($page['component']) ? $page['component'] : 'Dashboard') . '.jsx'])
@inertiaHead
@inertia