@php $isDraft = $ticket->status === \App\Enums\SaleTicketStatusEnum::DRAFT; @endphp @if ($isDraft) {{-- ============================= DRAFT: TABBED LAYOUT ============================= --}} {{-- El componente posee los tabs: el upload de media vive en "Media" (los inputs están enlazados a $form), no en el wizard. --}} {{-- Tabs manejados por Alpine (NO Bootstrap data-bs-toggle): el estado vive en `tab` y así sobrevive al morph de Livewire tras `save` (Bootstrap solo guarda el estado en el DOM y el re-render lo reseteaba al primer tab). --}}
{{-- ----------- Sidebar (tabs) ----------- --}}
{{ __('Draft setup') }}
{{ __('Control panel') }}
{{-- ----------- Tab content ----------- --}}
{{-- TAB 1: Ticket Details (wizard sin paso de media) --}}
@include('livewire.sale-used-machine.partials.used-machine-customer-wizard-steps', ['withMedia' => false])
{{-- TAB 2: Media & Assets (upload + listas existentes) --}}
{{ __('Machine photos & video') }}
{{-- Upload (movido desde el wizard) --}}
{{ __('Upload new content') }}
@if ($errors->any()) @endif {{-- Imágenes ya subidas --}}
{{ __('Gallery images') }}
{{-- Video ya subido --}}
{{ __('Machine video') }}
{{-- Save de la sección de media (persiste el upload; misma acción save), DENTRO del mismo card-body, separado de los inputs por un
(mismo diseño que el form: media + acciones en una sola tarjeta). --}}
@else {{-- ============================= NON-DRAFT: wizard de 5 pasos (incluye media) ============================= --}} @include('livewire.sale-used-machine.partials.used-machine-customer-wizard-steps', ['withMedia' => true]) @endif