{{-- Variables are passed from parent view: $hasPosMachine, $machineStatus, $posMachine, $limitReached, $limitMessage, $shouldBlockPos --}} @php // Use passed variables or set defaults if not provided $hasPosMachine = $hasPosMachine ?? false; $machineStatus = $machineStatus ?? null; $posMachine = $posMachine ?? null; $limitReached = $limitReached ?? false; $limitMessage = $limitMessage ?? ''; $justRegistered = session('justRegistered', false); $needsApproval = session('needsApproval', false); $flashedMachine = session('machine'); if (!$posMachine && $flashedMachine) { $posMachine = $flashedMachine; } $showPendingOverlay = ($hasPosMachine && $machineStatus === 'pending') || ($justRegistered && $needsApproval); @endphp @php $isMultiPosEnabled = module_enabled('MultiPOS') && in_array('MultiPOS', restaurant_modules()); @endphp {{-- Show appropriate message based on machine status --}} @if($isMultiPosEnabled) {{-- Declined - Centered Message (only covers POS content area) --}} @if($hasPosMachine && $machineStatus === 'declined')

@lang('multipos::messages.registration.declined.title')

{{ $posMachine->alias ?? __('multipos::messages.registration.device') }}

@lang('multipos::messages.registration.declined.message')

@lang('multipos::messages.registration.form.go_to_dashboard') @lang('multipos::messages.registration.declined.check_status')
{{-- Hide all POS content for declined --}}
{{-- Pending - Centered Message (only covers POS content area) --}} @elseif($showPendingOverlay)

@lang('multipos::messages.registration.pending.title')

{{ $posMachine->alias ?? __('multipos::messages.registration.device') }}

@lang('multipos::messages.registration.pending.message')

@php $canApprove = user() && user_can('Manage MultiPOS Machines'); @endphp @if($canApprove && $posMachine) {{-- Primary action: Approve This Machine (for admins) --}} @lang('multipos::messages.registration.pending.approve_this_machine') {{-- Secondary action: Go to Settings --}} @lang('multipos::messages.registration.pending.go_to_settings') @else {{-- For non-admins: Go to Dashboard --}} @lang('multipos::messages.registration.form.go_to_dashboard') @endif {{-- Refresh Status button (always shown) --}} @lang('multipos::messages.registration.pending.refresh_status')
{{-- Hide all POS content for pending --}}
@endif @endif {{-- No machine - show registration modal or limit reached message --}} @if($isMultiPosEnabled && !$hasPosMachine && !$showPendingOverlay) {{-- z above POS nav (z-50); flex center at all breakpoints — sm:block + inline-block breaks centering (RTL: panel sticks to end). --}}
@if($limitReached)

@lang('multipos::messages.registration.limit_reached.title')

{{ $limitMessage }}

@lang('multipos::messages.registration.limit_reached.what_can_you_do')

@lang('multipos::messages.registration.limit_reached.hint')

@else

@lang('multipos::messages.registration.form.title')

@lang('multipos::messages.registration.form.description')

@csrf
@if(user() && user()->hasRole('Admin_'.user()->restaurant_id)) @else @endif

@lang('multipos::messages.registration.form.device_name_hint')

@lang('multipos::messages.registration.form.what_happens_next')

@lang('multipos::messages.registration.form.what_happens_next_text')

@endif
@lang('multipos::messages.registration.form.go_to_dashboard') @lang('multipos::messages.registration.form.register_button') @lang('multipos::messages.registration.form.cancel_button')
@endif {{-- $shouldBlockPos is passed from parent view --}} {{-- Registration Validation Script --}} @if(module_enabled('MultiPOS')) @endif {{-- $shouldBlockPos variable is set for use in main file --}}