<?php

declare(strict_types=1);

/**
 * Insert (or refresh) the `ui` block into the Azizi real-estate language
 * files. The block holds every German UI label that previously lived
 * hardcoded inside the dev Blade templates.
 */
$files = [
    __DIR__.'/../../resources/lang/de/immobilien-azizi.json',
    __DIR__.'/../../resources/lang/en/immobilien-azizi.json',
];

$ui = [
    'intro_eyebrow' => 'Kuratiert statt katalogisiert',
    'featured_label' => 'Headline-Projekt',
    'featured_marcel_heading' => 'Marcels Einschätzung',
    'featured_stat_price' => 'Preis',
    'featured_stat_handover' => 'Übergabe',
    'featured_cta_detail' => ':title im Detail ansehen',
    'featured_default_alt' => 'Headline-Projekt',
    'districts_eyebrow' => 'Stadtteil-Kontext',
    'grid_eyebrow' => 'Projektgrid',
    'grid_title' => ':count Projekte im Vergleich',
    'grid_intro' => 'Das Headline-Projekt steht bewusst als Flaggschiff oben. Die übrigen Adressen lassen sich nach Käuferlogik oder nach Stadtteil sortieren - so finden Sie schnell die Auswahl, die zu Ihrer Strategie passt.',
    'filter_categories' => 'Kategorien',
    'filter_districts' => 'Stadtteile',
    'filter_summary' => ':categories Kategorien · :districts Stadtteil-Cluster',
    'filter_count' => ':count Projekte',
    'card_label_buyer' => 'Geeignet für',
    'card_label_price' => 'Preis / Verfügbarkeit',
    'card_label_unit' => 'Typ',
    'card_cta' => 'Details ansehen',
    'card_aria_open' => 'Details zu :title öffnen',
    'back_to_top' => 'Zurück zum Anfang der Projektübersicht',
    'back_to_top_short' => 'Zurück zum Anfang',
    'mindset_positive_pill' => 'Passt gut',
    'mindset_negative_pill' => 'Lieber vorsichtig',
    'mindset_positive_title' => 'Dubai als Wachstumsentscheidung',
    'mindset_negative_title' => 'Dubai braucht Entscheidungskraft',
    'sidebar' => [
        'toggle_open' => 'Sektionsübersicht öffnen',
        'toggle_close' => 'Sektionsübersicht schließen',
        'progress_label' => 'Lesefortschritt',
        'sections' => [
            ['id' => 'intro', 'label' => 'Marcels Einordnung'],
            ['id' => 'featured', 'label' => 'Headline-Projekt'],
            ['id' => 'stadtteile', 'label' => 'Stadtteile'],
            ['id' => 'projekte', 'label' => 'Projekte'],
            ['id' => 'markt', 'label' => 'Marktkontext'],
            ['id' => 'prozess', 'label' => 'Kaufprozess'],
            ['id' => 'mindset', 'label' => 'Mindset-Check'],
            ['id' => 'einrichtung', 'label' => 'Einrichtung'],
            ['id' => 'kontakt', 'label' => 'Kontakt'],
        ],
    ],
    'modal' => [
        'header' => 'Projektdetails',
        'close' => 'Projektfenster schließen',
        'stat_price' => 'Preis / Verfügbarkeit',
        'stat_handover' => 'Übergabe',
        'stat_units' => 'Einheiten',
        'section_investment' => 'Investment Case',
        'official_description_label' => 'Aus dem offiziellen Azizi-Exposé (übersetzt)',
        'gallery_heading' => 'Galerie',
        'gallery_count_word' => 'Bilder',
        'gallery_image_word' => 'Galerie Bild',
        'gallery_zoom_suffix' => 'groß ansehen',
        'for_whom' => 'Für wen eignet sich das Projekt?',
        'hard_facts' => 'Harte Punkte für die Einordnung',
        'source_heading' => 'Projektquelle',
        'source_text' => 'Offizieller Azizi-Link als Projektanker. Preise und Verfügbarkeit werden vor Beratung aktuell geprüft.',
        'azizi_link' => 'Azizi-Projektseite',
        'seo_link' => 'SEO-Detailseite öffnen',
        'next_step_heading' => 'Nächster Schritt',
        'next_step_text' => 'Marcel prüft aktive Einheiten, aktuellen Zahlungsplan, Floor Plans und ob Resale oder Off-Plan für Ihre Strategie sinnvoller ist. Nutzen Sie dafür die Anfrage direkt unterhalb dieser Detailansicht.',
        'request_eyebrow' => 'Direkte Anfrage',
        'request_heading' => 'Verfügbarkeit prüfen lassen',
        'request_text' => 'Senden Sie Ihre Anfrage direkt zu diesem Projekt. Wir prüfen Verfügbarkeit, Zahlungsplan und passende Einheit.',
        'request_submit' => 'Anfrage absenden',
    ],
    'lightbox' => [
        'label' => 'Galeriebild groß ansehen',
        'close' => 'Galerie schließen',
        'previous' => 'Vorheriges Bild',
        'next' => 'Nächstes Bild',
    ],
    'show_page' => [
        'default_meta_description' => 'Kuratierte Dubai-Immobilie von Azizi Developments.',
        'default_title' => 'Projekt',
        'back_to_overview' => 'Zurück zur Projektübersicht',
        'stat_price' => 'Preis / Verfügbarkeit',
        'stat_price_fallback' => 'Auf Anfrage',
        'stat_handover' => 'Übergabe',
        'stat_handover_fallback' => 'Phase abhängig',
        'stat_units' => 'Einheiten',
        'stat_units_fallback' => 'Aktuell prüfen',
        'stat_data_confidence' => 'Datenstand',
        'stat_data_confidence_fallback' => 'Prüfen',
        'section_investment' => 'Investment Case',
        'for_whom' => 'Für wen eignet sich das Projekt?',
        'hard_facts' => 'Harte Punkte für die Einordnung',
        'source_heading' => 'Projektquelle',
        'source_text' => 'Offizieller Azizi-Link als Projektanker. Preise und Verfügbarkeit werden vor Beratung aktuell geprüft.',
        'azizi_link' => 'Azizi-Projektseite',
        'next_step_heading' => 'Nächster Schritt',
        'next_step_text' => 'Marcel prüft aktive Einheiten, aktuellen Zahlungsplan, Floor Plans und ob Resale oder Off-Plan für Ihre Strategie sinnvoller ist.',
        'request_cta' => 'Verfügbarkeit anfragen',
        'process_title' => 'Wie B2in dieses Projekt prüft',
        'process_intro' => 'Diese Preview trennt redaktionelle Einordnung von beweglichen Vertriebsdaten. Der Live-Stand wird immer vor einer konkreten Empfehlung geprüft.',
        'process_steps' => [
            ['title' => '1. Strategische Passung', 'text' => 'Cashflow, Eigennutzung, Wertzuwachs oder Trophy Asset.'],
            ['title' => '2. Aktive Verfügbarkeit', 'text' => 'Einheiten, Etagen, Views, Zahlungsplan und Resale-Angebote.'],
            ['title' => '3. Exit-Logik', 'text' => 'Vermietbarkeit, Haltezeit, Zielgruppe und Wiederverkauf.'],
        ],
        'interest_heading' => 'Interesse an :title?',
        'interest_default_title' => 'diesem Projekt',
        'interest_text' => 'Fragen Sie keine Broschüre an. Fragen Sie eine Einordnung an: Passt dieses Projekt zu Ihrer Strategie, Ihrem Budget und Ihrem Zeithorizont?',
        'interest_cta_consult' => 'Beratung anfragen',
        'interest_cta_more' => 'Weitere Projekte ansehen',
    ],
    'status_labels' => [
        'ready' => 'Sofort verfügbar',
        'construction' => 'Im Bau',
        'offplan' => 'Off-Plan',
    ],
    'confidence_labels' => [
        'green' => 'Direkt belegt',
        'yellow' => 'Vor Livegang final prüfen',
        'red' => 'Nur als Anfragewert nutzen',
    ],
    'fallbacks' => [
        'handover' => 'Phase abhängig',
        'project_default' => 'Projekt',
    ],
];

foreach ($files as $file) {
    if (! is_file($file)) {
        echo 'Skip (nicht gefunden): '.$file.PHP_EOL;

        continue;
    }
    $json = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR);

    $ordered = [];
    foreach ($json as $k => $v) {
        if ($k === 'ui') {
            continue; // skip existing block - we'll re-insert it after meta
        }
        $ordered[$k] = $v;
        if ($k === 'meta') {
            $ordered['ui'] = $ui;
        }
    }
    if (! isset($ordered['ui'])) {
        $ordered = ['ui' => $ui] + $ordered;
    }

    file_put_contents(
        $file,
        json_encode($ordered, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)."\n"
    );

    echo basename(dirname($file)).'/'.basename($file).': ui-Block eingefügt/aktualisiert'.PHP_EOL;
}
