@php
$mobileFullScreenPage = request()->routeIs('user.search')
|| request()->routeIs('user.products.cart')
|| request()->routeIs('user.domains.cart')
|| request()->routeIs('user.domains.checkout')
|| request()->routeIs('user.products.checkout')
|| request()->routeIs('user.products.order')
|| request()->routeIs('profile.edit')
|| request()->routeIs('account.settings')
|| request()->routeIs('user.qr-codes.create')
|| request()->routeIs('user.qr-codes.show');
$qrMobilePage = request()->routeIs('user.qr-codes.create') || request()->routeIs('user.qr-codes.show');
$mobileCartCount = 0;
$mobileCartRoute = route('user.products.cart');
if (auth()->check()) {
$mobileProductCartCount = \App\Models\RcServiceOrder::query()
->where('user_id', auth()->id())
->whereIn('status', [
\App\Models\RcServiceOrder::STATUS_CART,
\App\Models\RcServiceOrder::STATUS_PENDING_PAYMENT,
])
->count();
$mobileDomainCartCount = \App\Models\DomainOrder::query()
->where('user_id', auth()->id())
->whereIn('status', [
\App\Models\DomainOrder::STATUS_CART,
\App\Models\DomainOrder::STATUS_PENDING_PAYMENT,
])
->count();
$mobileCartCount = $mobileProductCartCount + $mobileDomainCartCount;
if ($mobileProductCartCount === 0 && $mobileDomainCartCount > 0) {
$mobileCartRoute = route('user.domains.cart');
}
}
@endphp
$qrMobilePage])>
{{-- Mobile sidebar overlay --}}
{{-- Sidebar — full product nav (Bird and other extracted apps have their
own nav in their own apps). --}}
@php $sidebarPartial = 'partials.sidebar'; @endphp
{{-- Main content --}}
@include('partials.topbar')
$mobileFullScreenPage,
])>
@include('partials.flash')
@include('partials.mailbox-link-banner')
$qrMobilePage,
'p-0 pb-24 lg:p-6 lg:pb-6' => $mobileFullScreenPage && ! $qrMobilePage,
'p-6 pb-24 lg:pb-6' => ! $mobileFullScreenPage,
])>
{{ $slot }}
{{-- Mobile Bottom Navigation (hidden on QR create/show which have their own action bar) --}}
@unless(request()->routeIs('user.qr-codes.create') || request()->routeIs('user.qr-codes.show'))
@php
$navUser = auth()->user();
$navInitials = collect(explode(' ', trim((string) $navUser?->name)))
->filter()->take(2)
->map(fn ($part) => strtoupper(substr($part, 0, 1)))
->implode('');
@endphp
@include('partials.mobile-bottom-nav', [
'homeUrl' => route('qr.dashboard'),
'homeActive' => request()->routeIs('qr.dashboard'),
'searchUrl' => route('user.search'),
'searchActive' => request()->routeIs('user.search'),
'notificationsUrl' => route('user.notifications.index'),
'notificationsActive' => request()->routeIs('user.notifications.*'),
'unreadUrl' => route('user.notifications.unread'),
'profileActive' => request()->routeIs('profile.edit') || request()->routeIs('account.settings'),
'profileName' => $navUser?->name ?? '',
'profileSubtitle' => $navUser?->email ?? '',
'profileMenuItems' => [
['type' => 'link', 'label' => 'Profile', 'href' => route('profile.edit')],
['type' => 'link', 'label' => 'Account Settings', 'href' => route('account.settings')],
['type' => 'link', 'label' => 'Overview', 'href' => route('qr.dashboard')],
['type' => 'logout', 'label' => 'Logout', 'action' => route('logout')],
],
'avatarUrl' => $navUser?->avatarUrl(),
'initials' => $navInitials !== '' ? $navInitials : 'U',
])
@endunless
@if ($qrMobilePage)
@endif