<?php

namespace App\Support;

/**
 * Tur programı aktivite tipleri — TEK kaynak.
 *
 * Günübirlik ve kültür/yurtdışı programları aynı listeyi kullanır; etiketler
 * hem quick-view formlarında hem de update-field yanıtlarında buradan okunur.
 */
class ItineraryActivity
{
    public const LABELS = [
        'sightseeing' => 'Gezi',
        'cultural' => 'Kültürel',
        'meal' => 'Yemek',
        'transfer' => 'Transfer',
        'activity' => 'Aktivite',
        'accommodation' => 'Konaklama',
        'free' => 'Serbest Zaman',
    ];

    /** Değerin etiketi; tanımsızsa ham değer döner. */
    public static function label(?string $value): string
    {
        if ($value === null || $value === '') {
            return '';
        }

        return self::LABELS[$value] ?? $value;
    }

    /** Ledger select satırı için seçenek listesi ("—" boş değer). */
    public static function options(): array
    {
        $out = [['value' => '', 'label' => '—']];
        foreach (self::LABELS as $value => $label) {
            $out[] = ['value' => $value, 'label' => $label];
        }

        return $out;
    }
}
