generated from boboko/starter
74 lines
3.4 KiB
PHP
74 lines
3.4 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="{{ $currentLocale ?? app()->getLocale() }}">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
|
|
{{-- Favicons --}}
|
|
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<link rel="shortcut icon" href="/favicon.ico" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
<link rel="manifest" href="/site.webmanifest" />
|
|
|
|
<title>@yield('title', config('app.name'))</title>
|
|
<meta name="description" content="@yield('description', '')">
|
|
|
|
{{-- Reciprocal hreflang: self-reference + every alternate locale + x-default --}}
|
|
@isset($currentLocale)
|
|
<link rel="alternate" hreflang="{{ $currentLocale }}" href="{{ url()->current() }}" />
|
|
@foreach ($altLocales ?? [] as $altLocale)
|
|
<link rel="alternate" hreflang="{{ $altLocale['code'] }}" href="{{ $altLocale['url'] }}" />
|
|
@endforeach
|
|
<link rel="alternate" hreflang="x-default" href="{{ url('/') }}" />
|
|
@endisset
|
|
|
|
@stack('seo')
|
|
|
|
{{-- Preload the Manrope weights used in above-the-fold text (body 400,
|
|
category <h1> 500, generic headings 700, nav 800) so the swap-in
|
|
doesn't reflow the header and headings on load — which otherwise
|
|
throws off scroll restoration on refresh. Same URLs as the @font-face
|
|
rules in fonts.css, so each is fetched once. --}}
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ \Illuminate\Support\Facades\Vite::asset('resources/fonts/manrope/manrope-v20-greek_latin-regular.woff2') }}">
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ \Illuminate\Support\Facades\Vite::asset('resources/fonts/manrope/manrope-v20-greek_latin-500.woff2') }}">
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ \Illuminate\Support\Facades\Vite::asset('resources/fonts/manrope/manrope-v20-greek_latin-700.woff2') }}">
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ \Illuminate\Support\Facades\Vite::asset('resources/fonts/manrope/manrope-v20-greek_latin-800.woff2') }}">
|
|
|
|
@vite(['resources/css/checkout.css', 'resources/css/app.css', 'resources/js/app.js'])
|
|
|
|
@auth('staff')
|
|
@php($stoicToken = \App\Services\Stoic::token(auth('staff')->user()->email))
|
|
<script>
|
|
window.STOIC_HOST = "{{ config('services.stoic.host') }}";
|
|
window.STOIC_SSO_TOKEN = "{!! $stoicToken !!}";
|
|
</script>
|
|
<script src="{{ asset('js/stoic_embed.js') }}"></script>
|
|
@endauth
|
|
|
|
@stack('head')
|
|
</head>
|
|
<body class="min-h-screen antialiased">
|
|
<x-header />
|
|
|
|
{{-- Not on the checkout page itself — its order-summary column already
|
|
plays the drawer's role there, and both reacting to the same
|
|
`bbk-cart:changed` event would pop the (redundant) drawer open over
|
|
the page every time a line's quantity changes in the summary. --}}
|
|
@unless (request()->routeIs('checkout.show'))
|
|
@include('checkout::drawer')
|
|
@endunless
|
|
|
|
<main id="main-content" class="min-h-[calc(100vh-12rem)] sm:min-h-[calc(100vh-8rem)]">
|
|
@yield('content')
|
|
</main>
|
|
|
|
<x-footer />
|
|
|
|
<x-back-to-top />
|
|
|
|
@stack('scripts')
|
|
</body>
|
|
</html>
|