{{--
    KALKIŞ KÜNYESİ — operasyon kartının özet alanları, ortak defter tasarımıyla.

    Müşteri / satış kartlarındaki kalıbın aynısı: her alan tek satır, solda
    küçük etiket, sağda değer, hover'da kopyala. Daha önce bu bilgiler altı ayrı
    "kutu kart" halindeydi (kapasite, rezervasyon, ciro, maliyet, net…); rakamlar
    yan yana değil ALT ALTA okunduğunda karşılaştırılabiliyor ve kart üç ekran
    boyu kısalıyor.

    Yalnızca operasyon notu yazılabilir (updateField beyaz listesinde tek alan o);
    geri kalan satırlar hesaplanmış değerlerdir, salt okunur.

    Beklenen: $vm, $cap, $op, $badge, $start, $end, $dateLabel, $resourceCost,
              $net, $updateUrl
--}}
@php
    $opsMoney = fn ($v) => number_format((float) $v, 0, ',', '.') . '₺';

    /** Salt okunur tek satır (alan adı yok → yalnızca kopyalanır). */
    $opsRo = fn (string $label, $text, array $o = []) => [
        'label' => $label,
        'field' => null,
        'type' => 'text',
        'value' => (string) ($text ?? ''),
        'text' => (string) ($text ?? ''),
        'mono' => $o['mono'] ?? false,
        'ph' => $o['ph'] ?? null,
    ];

    $opsSections = [];

    // ── Kalkış ──
    $opsGuaranteeText = null;
    if ($op && $op->guaranteed_at) {
        $opsGuaranteeText = ($op->guaranteed_mode === 'manual' ? 'Manuel' : 'Otomatik')
            . ' · ' . $op->guaranteed_at->translatedFormat('d.m.Y H:i')
            . ($op->guaranteedBy ? ' · ' . ($op->guaranteedBy->full_name ?? $op->guaranteedBy->name) : '');
    }

    $opsSections[] = [
        'title' => 'Kalkış', 'icon' => 'fa-calendar-day',
        'rows' => array_values(array_filter([
            $opsRo('Tarih', $dateLabel, ['mono' => true]),
            $opsRo('Gün', $start?->translatedFormat('l')),
            $opsRo('Saat', $vm['start_time'], ['mono' => true, 'ph' => 'Saat girilmedi']),
            $opsRo('Tur', $vm['tour_name']),
            $opsRo('Tur Kodu', $vm['tour_code'], ['mono' => true]),
            $opsRo('Tip', $vm['type_label']),
            $opsRo('Durum', $badge['label']),
            $opsGuaranteeText ? $opsRo('Kesin Kalkış', $opsGuaranteeText) : null,
            ($op && $op->departure_status === 'cancelled')
                ? $opsRo('İptal Gerekçesi', $op->cancellation_reason ?: 'Belirtilmedi')
                : null,
        ])),
    ];

    // ── Doluluk ──
    // "Kalan" kapasite sınırsızken anlamsızdır; ∞ yazmak yerine satır boş kalır
    // ve boş-alan sayacına düşer — kullanıcı eksik bilgiyi kendisi görür.
    $opsSections[] = [
        'title' => 'Doluluk', 'icon' => 'fa-users',
        'rows' => [
            $opsRo('Kapasite', $cap['used'] . ' / ' . ($cap['total'] ?: '∞'), ['mono' => true]),
            $opsRo('Doluluk', '%' . $cap['occupancy'], ['mono' => true]),
            $opsRo('Kalan', $cap['total'] ? $cap['remaining'] : '', ['mono' => true, 'ph' => 'Kapasite sınırsız']),
            $opsRo('Rezerve', $cap['reserved'], ['mono' => true]),
            $opsRo('Rezervasyon', $vm['res_count'], ['mono' => true]),
            $opsRo('Yolcu', $vm['pax'], ['mono' => true]),
        ],
    ];

    // ── Finans ──
    $opsSections[] = [
        'title' => 'Finans', 'icon' => 'fa-coins',
        'rows' => [
            $opsRo('Toplam Ciro', $opsMoney($vm['revenue']), ['mono' => true]),
            $opsRo('Kesin Ciro', $opsMoney($vm['revenue_won']), ['mono' => true]),
            $opsRo('Potansiyel Ciro', $opsMoney($vm['revenue_potential']), ['mono' => true]),
            $opsRo('Kaynak Maliyeti', $opsMoney($resourceCost), ['mono' => true]),
            $opsRo('Net (kesin − maliyet)', $opsMoney($net), ['mono' => true]),
        ],
    ];

    // ── Not ──
    // Kartın TEK yazılabilir alanı. $op null olabilir: tarih için henüz operasyon
    // kaydı açılmamıştır, ilk not kaydında oluşur.
    $opsSections[] = [
        'title' => 'Not', 'icon' => 'fa-note-sticky',
        'rows' => [[
            'label' => 'Operasyon Notu',
            'field' => 'operation_notes',
            'type' => 'textarea',
            'value' => (string) ($op?->operation_notes ?? ''),
            'text' => (string) ($op?->operation_notes ?? ''),
            'ph' => 'Kalkışa dair not ekleyin',
        ]],
    ];
@endphp

@include('components.quick-view.ledger-card', ['card' => [
    'title' => 'Kalkış Künyesi',
    'icon' => 'fa-clipboard-check',
    'url' => $updateUrl,
    'class' => 'pfx-lw',
    'foldable' => true,
    'sections' => $opsSections,
]])
