@extends('layouts.app') @section('title', __('New Sale')) @section('content')
{{-- Tabs / multiple carts (#4) --}}
{{-- Scanner + search --}}

{{ __('The scanner stays focused. Use arrow keys to navigate suggestions, Enter to add.') }}

{{-- 20 quick products (#2) --}}

{{ __('Quick products') }} ({{ __('20 shown') }})

{{-- Cart --}} {{-- Desktop: full 7-column table. Below `sm` the stacked list further down takes over — a phone cannot show those columns. --}} {{-- Mobile cart: one stacked row per line, with quantity steppers. The table above stays hidden below `sm`. --}}
{{ __('Scan or search to add products.') }}
{{ __('F2 validate') }} {{ __('F3 clear cart') }} {{ __('F4 reprint last') }}
{{-- Checkout --}}
@csrf

{{ __('Checkout') }}

{{ __('Subtotal') }}
{{ __('Discount') }}
{{ __('VAT incl.') }}
{{ __('Total') }}

{{ __('Stock auto-refresh') }}

{{ __('Last synced') }}:

{{-- Unit / box choice modal (#2) --}} {{-- Closing is bound to the backdrop itself: @click.outside would also fire for the very click that opens the modal and dismiss it immediately. --}} {{-- The fade is a plain CSS transition rather than x-transition: Alpine animates with requestAnimationFrame, which never runs in a backgrounded tab and would leave the modal stuck hidden. --}}

{{ __('Choose unit or box') }}

{{-- Mobile: sticky cart summary sitting just above the bottom menu, so the cashier always sees the running total and can reach the checkout. --}}

{{ __('Items') }}

@endsection @push('scripts') @endpush