@if(config('app.debug') && app()->environment('development'))

{{ __('messages.posOfflineDebugHint') }}

@endif {{-- MultiPOS: registration modals / pending & declined overlays (active device label is in navigation-menu by stop impersonate) --}} @if(module_enabled('MultiPOS') && in_array('MultiPOS', restaurant_modules())) @include('multipos::partials.pos-registration', [ 'hasPosMachine' => $hasPosMachine, 'machineStatus' => $machineStatus, 'posMachine' => $posMachine, 'limitReached' => $limitReached, 'limitMessage' => $limitMessage, 'shouldBlockPos' => $shouldBlockPos ]) @endif {{-- Only render POS content if not blocked by registration/pending/declined --}} @if(!$shouldBlockPos) {{-- Restaurant availability banner (outside operating hours) --}} @if(!empty($showRestaurantClosedBanner) && !empty($restaurantClosedMessage))
{{ $restaurantClosedMessage }}
@endif {{-- Offline: order queued on device (replaces success toast) --}} {{-- Order type modal: pure Blade + JS (prices prefetched in window.posOrderTypePriceMaps) --}} @include('pos.partials.order-type-modal')
@include('pos.menu', ['posMenuFiltersInline' => true])
@php $showOrderDetail = request()->boolean('show-order-detail'); @endphp @if (!$orderDetail || ($orderDetail && $orderDetail->status == 'draft')) @include('pos.kot_items') @elseif($orderDetail && $orderDetail->status == 'kot') @php // Get current KOT ID for print functionality $currentKot = $orderDetail->kot()->orderBy('created_at', 'desc')->first(); $currentKotId = $currentKot ? $currentKot->id : null; @endphp @if($currentKotId) @endif @if($showOrderDetail) @include('pos.order_items') @else @include('pos.kot_items') @endif @elseif($orderDetail && in_array($orderDetail->status, ['billed', 'paid', 'payment_due'])) @include('pos.order_detail') @endif
{{-- Variation Modal --}} @if(module_enabled('Hotel') && in_array('Hotel', restaurant_modules())) @include('hotel::pos.show-stay') @endif {{-- KOT Note Modal --}} {{-- Item Note Modal --}} {{-- Table Modal --}} {{-- Discount Modal --}} {{-- Offline payment (queued to localStorage; syncs via ajax.pos.sync-offline-payment) --}} {{-- Inline Tailwind Confirm Popover (anchored near clicked button) --}} {{-- Loyalty Redemption (AJAX POS) - $posLoyaltyEnabled passed from PosController (tt parity) --}} @if($posLoyaltyEnabled ?? false) @endif {{-- Print Options Modal (AJAX/JS-based) --}} {{-- Error Modal --}} {{-- Modifiers Modal: compact width, scroll body, pinned actions --}} {{-- Table Change Modal --}} @endif
@push('scripts') @vite(['resources/js/pos-offline.js']) @endpush