@php $seoDescription = $seoDescription ?? null; $seoCanonical = $seoCanonical ?? null; $seoImage = $seoImage ?? null; $pageTitle = trim(strip_tags(View::getSection('title') ?: ($business->name ?? 'B2B Portal'))); $pageDescription = trim(strip_tags( $seoDescription ?? $settings->storefront_banner_text ?? (($business->name ?? '') . ' — wholesale ordering portal.') )); $canonicalUrl = $seoCanonical ?? url()->current(); $ogImage = $seoImage ?? $settings->storefront_banner_image_url ?? $settings->storefront_logo_url ?? null; @endphp {{ $pageTitle }} {{-- Open Graph --}} @if($ogImage) @endif {{-- Twitter --}} @if($ogImage)@endif @if(!empty($settings->storefront_logo_url)) @endif {{-- Prefer the built Tailwind bundle. If it hasn't been generated yet (npm run build in Modules/B2BPortal/Resources/assets), fall back to Tailwind's Play CDN — slower but keeps the storefront usable without any Node toolchain. --}} @php $portalCssPath = public_path('modules/b2bportal/portal.css'); $hasBuiltCss = is_file($portalCssPath) && filesize($portalCssPath) > 100; @endphp @if($hasBuiltCss) @else
@endif @stack('head') @include('b2bportal::storefront.components.header')
@yield('content')
@include('b2bportal::storefront.components.cart-fab') {{-- Lightbox for colour-swatch clicks (see product-matrix.blade.php) --}}
@stack('scripts') @include('b2bportal::storefront.components.cart-store')