{{-- Neulis Neue Font Faces --}} @if(config('app.env') == 'production') @endif @if(config('app.env') == 'production') @endif @livewireStyles @stack('styles') @php $userCountry = optional(auth()->user())->country; if ($userCountry) { $customerCountryCode = strtoupper((string) $userCountry); } else { $customerCountryCode = request()->headers->has('cloudfront-viewer-country') ? strtoupper((string) request()->header('cloudfront-viewer-country')) : 'AR'; } $paymentMethod = config("payments.country_payment_method.{$customerCountryCode}"); if (is_null($paymentMethod)) { $paymentMethod = config("payments.default_payment_method"); } @endphp @if($paymentMethod == 'mercadopago') @endif @if($paymentMethod == 'stripe') @endif @stack('scripts') {{-- Onboarding Modal - Shows for new users who haven't completed onboarding --}} @auth @if(auth()->user()->needsOnboarding()) @livewire('customer.onboarding-modal') @endif @endauth {{-- Business Sidebar: hamburger + overlay + sidebar panel, todos position:fixed, fuera de container-fluid para evitar overflow:hidden --}} @auth @if(auth()->user()->role_id == \App\Models\User::BUSINESS_ROL_ID && (!isset($hideSidebar) || !$hideSidebar))
{{-- Logo Section --}}
Business
{{-- Navigation Section --}} {{-- Logout Section --}}
@endif @endauth {{-- Customer (non-business) Sidebar: hamburger + overlay + panel, todos position:fixed, fuera de container-fluid --}} @auth @if(auth()->user()->role_id != \App\Models\User::BUSINESS_ROL_ID && (!isset($hideSidebar) || !$hideSidebar))
{{-- Logo Section --}}
{{-- Navigation Section --}} {{-- Logout Section --}}
@endif @endauth
@if(!isset($hideSidebar) || (isset($hideSidebar) && !$hideSidebar)) {{-- Col espaciador: ocupa espacio en desktop para empujar el contenido --}}
{{-- El sidebar (position:fixed) se renderiza fuera del container para evitar clipping por overflow:hidden --}}
@endif {{ $slot }}
@livewireScripts @php $expired = false; if (auth()->check() && auth()->user()->role_id == \App\Models\User::BUSINESS_ROL_ID) { $cfg = optional(auth()->user())->businessConfig; if ($cfg) { // -1 means unlimited invitations, so never expired by count $invOver = ($cfg->invitation_count !== \App\Models\BusinessConfig::UNLIMITED_INVITATIONS && $cfg->invitation_count === 0); $dateOver = (!empty($cfg->expiration_date) && now()->greaterThanOrEqualTo($cfg->expiration_date)); $expired = $invOver || $dateOver; } } @endphp @if($expired && !request()->is('business/plans')) @endif @if(session('newLogin')) @endif {{-- Estilos modernos para el sidebar --}}