{{-- ── PWA Core ─────────────────────────────────────────────────────── --}} {{-- ── PWA iOS (Apple) ──────────────────────────────────────────────── --}} {{-- ── SEO & Social ──────────────────────────────────────────────────── --}} {{-- ── Favicon ───────────────────────────────────────────────────────── --}} {{ config('app.name') }} — @yield('title', 'Belanja Mudah') @vite(['resources/css/app.css', 'resources/js/app.js']) @livewireStyles {{-- ── Header ────────────────────────────────────────────────────────── --}}
@php // Halaman yang menampilkan header judul (bukan search) $isDetailPage = request()->routeIs( 'store.cart', 'store.checkout', 'store.orders', 'store.orders.show', 'store.account', 'store.info.*', 'store.partners', 'store.partners.show', 'store.products.show' ); $pageTitle = match(true) { request()->routeIs('store.cart') => 'Keranjang', request()->routeIs('store.checkout') => 'Checkout', request()->routeIs('store.orders.show') => 'Detail Pesanan', request()->routeIs('store.orders') => 'Pesanan Saya', request()->routeIs('store.account') => 'Akun Saya', request()->routeIs('store.info.about') => 'Tentang Kami', request()->routeIs('store.info.contact') => 'Hubungi Kami', request()->routeIs('store.info.faq') => 'FAQ', request()->routeIs('store.info.privacy') => 'Kebijakan Privasi', request()->routeIs('store.info.terms') => 'Syarat & Ketentuan', request()->routeIs('store.partners') => 'Daftar Mitra', request()->routeIs('store.partners.show') => 'Detail Mitra', request()->routeIs('store.products.show') => 'Detail Produk', default => null, }; $backRoute = match(true) { request()->routeIs('store.checkout') => route('store.cart'), request()->routeIs('store.orders.show') => route('store.orders'), request()->routeIs('store.cart') => route('store.home'), request()->routeIs('store.orders') => route('store.home'), request()->routeIs('store.info.*') => route('store.account'), request()->routeIs('store.partners') => route('store.home'), request()->routeIs('store.partners.show') => route('store.partners'), request()->routeIs('store.products.show') => route('store.products'), default => null, }; @endphp @if ($isDetailPage) {{-- Header halaman detail: tombol back + judul --}} @if ($backRoute) @endif {{ $pageTitle }} {{-- Cart icon di header product show --}} @if (request()->routeIs('store.products.show')) @livewire('store.cart-badge', key('header-cart-badge-ps')) @endif @else {{-- Header halaman utama: avatar + search + cart --}} T
@livewire('store.cart-badge', key('header-cart-badge')) @endif
{{-- ── Main ──────────────────────────────────────────────────────────── --}} {{-- pb cukup untuk bottom nav 68px + safe area + sedikit ruang --}}
{{ $slot }}
{{-- ── Bottom Navigation (5 tab) ─────────────────────────────────────── --}} {{-- ── PWA Install Banner ──────────────────────────────────────────── --}} {{-- Hanya muncul jika browser support PWA dan belum install --}} {{-- ── PWA Update Toast ────────────────────────────────────────────── --}} {{-- Muncul saat Service Worker baru tersedia --}} @livewireScripts