<?php

namespace Database\Seeders;

use App\Models\Page;
use App\Models\PageBlock;
use Illuminate\Database\Seeder;

class CorporatePagesSeeder extends Seeder
{
    /**
     * Seed corporate pages: Kalite Politikası, Hakkımızda, Vizyon ve Misyon.
     */
    public function run(): void
    {
        $this->seedKalitePolitikasi();
        $this->seedHakkimizda();
        $this->seedVizyonMisyon();
    }

    private function seedKalitePolitikasi(): void
    {
        $page = Page::firstOrCreate(
            ['slug' => 'kalite-politikasi'],
            [
                'title' => 'Kalite Politikamız',
                'meta_title' => 'Kalite Politikamız | Boğaziçi Denizcilik – ISO 9001:2015 Sertifikalı Eğitim',
                'meta_description' => 'Boğaziçi Denizcilik Eğitim Kurumu kalite politikası. ISO 9001:2015 sertifikalı, STCW yetkili, MET akredite denizcilik eğitim kurumu.',
                'is_active' => true,
            ],
        );

        $blocks = [
            [
                'order_index' => 0,
                'type' => 'hero',
                'content' => [
                    'breadcrumb' => 'Kurumsal|/kurumsal / Kalite Politikamız',
                    'title' => "Kalite Bir Hedef Değil,\nBir Standart",
                    'highlight' => 'Bir Standart',
                    'description' => 'ISO 9001:2015 sertifikalı Kalite Yönetim Sistemimiz ile her süreçte mükemmelliği güvence altına alıyoruz.',
                ],
            ],
            [
                'order_index' => 1,
                'type' => 'cards',
                'content' => [
                    'label' => 'AKREDİTASYONLAR',
                    'title' => 'Sertifika & Belgelerimiz',
                    'card_1_title' => 'ISO 9001:2015',
                    'card_1_desc' => 'Kalite Yönetim Sistemi',
                    'card_1_text' => "Türk Loydu · 2019'den beri",
                    'card_1_icon' => 'award',
                    'card_2_title' => 'STCW Yetki Belgesi',
                    'card_2_desc' => 'Denizci Eğitim Kurumu Akreditasyonu',
                    'card_2_text' => "UAB Denizcilik Genel Müdürlüğü · 2020'den beri",
                    'card_2_icon' => 'shield',
                    'card_3_title' => 'MET Akreditasyonu',
                    'card_3_desc' => 'Uluslararası Denizcilik Eğitimi',
                    'card_3_text' => "IMO Denizcilik Eğitim Standartları · 2021'den beri",
                    'card_3_icon' => 'globe',
                ],
            ],
            [
                'order_index' => 2,
                'type' => 'text',
                'content' => [
                    '_width' => 'half',
                    'label' => 'KALİTE İLKELERİ',
                    'title' => 'Taahhütlerimiz',
                    'body' => '<ul><li>UAB ve IMO standartlarına tam uyumluluk</li><li>STCW Sözleşmesi müfredat gerekliliklerinin eksiksiz karşılanması</li><li>Eğitim kadrosunun denizcilik sektöründe aktif tecrübeye sahip olması</li><li>Simülatör ve laboratuvar ekipmanlarının güncel tutulması</li><li>Kursiyer memnuniyet oranının %95 üzerinde sürdürülmesi</li><li>Mezun istihdam takibi ve sektörel geri bildirim analizi</li><li>İç ve dış denetim bulgularına göre sürekli iyileştirme</li><li>Eğitim materyallerinin yıllık güncellenmesi</li></ul>',
                ],
            ],
            [
                'order_index' => 3,
                'type' => 'stats_grid',
                'content' => [
                    '_width' => 'half',
                    'label' => 'KALİTE DÖNGÜSÜ',
                    'title' => 'PDCA Yaklaşımı',
                    'stat_1_value' => '01',
                    'stat_1_label' => 'Planlama — Yıllık kalite hedefleri ve iyileştirme planı oluşturulur.',
                    'stat_2_value' => '02',
                    'stat_2_label' => 'Uygulama — Planlar eğitim programlarına ve süreçlere entegre edilir.',
                    'stat_3_value' => '03',
                    'stat_3_label' => 'İzleme — Performans göstergeleri ve öğrenci memnuniyeti ölçülür.',
                    'stat_4_value' => '04',
                    'stat_4_label' => 'İyileştirme — Bulgular analiz edilerek sisteme geri besleme yapılır.',
                    'note' => 'Bu döngü her yıl sistematik olarak tekrar edilir.',
                ],
            ],
        ];

        $this->syncBlocks($page, $blocks);
    }

    private function seedHakkimizda(): void
    {
        $page = Page::firstOrCreate(
            ['slug' => 'hakkimizda'],
            [
                'title' => 'Hakkımızda',
                'meta_title' => 'Hakkımızda | Boğaziçi Denizcilik – 25 Yıllık Deneyim',
                'meta_description' => "1998'den bu yana 15.000+ denizci yetiştiren Boğaziçi Denizcilik Eğitim Kurumu hakkında bilgi alın.",
                'is_active' => true,
            ],
        );

        $blocks = [
            [
                'order_index' => 0,
                'type' => 'hero',
                'content' => [
                    'breadcrumb' => 'Kurumsal|/kurumsal / Hakkımızda',
                    'title' => "Türkiye'nin Köklü\nDenizcilik Okulu",
                    'highlight' => 'Denizcilik Okulu',
                    'description' => "1998'den bu yana 15.000'den fazla denizciyi uluslararası geçerli sertifikalarla donatıyoruz.",
                ],
            ],
            [
                'order_index' => 1,
                'type' => 'stats_grid',
                'content' => [
                    'style' => 'dark',
                    'stat_1_value' => '1998',
                    'stat_1_label' => 'Kuruluş Yılı',
                    'stat_2_value' => '25+',
                    'stat_2_label' => 'Yıllık Tecrübe',
                    'stat_3_value' => '15.000+',
                    'stat_3_label' => 'Mezun Sayısı',
                    'stat_4_value' => '%98',
                    'stat_4_label' => 'Başarı Oranı',
                ],
            ],
            [
                'order_index' => 2,
                'type' => 'text_image',
                'content' => [
                    'label' => 'HİKAYEMİZ',
                    'title' => '25 Yılı Aşkın Deneyim ve Güven',
                    'body' => "<p>Boğaziçi Denizcilik Eğitim Kurumu, 1998 yılında Kaptan Ahmet Yıldız tarafından İstanbul Kadıköy'de kurulmuştur. Ulaştırma ve Altyapı Bakanlığı (UAB) tarafından yetkilendirilmiş kurumumuz, STCW Sözleşmesi'nin gerektirdiği tüm zorunlu eğitimleri vermektedir.</p><p>Kuruluşumuzdan bu yana 15.000'i aşkın denizciyi sektöre kazandırdık. Mezunlarımız; Türk Deniz Kuvvetleri, MSC, CMA CGM, Maersk ve Türkiye'nin önde gelen denizcilik şirketlerinde aktif olarak görev yapmaktadır.</p><p>Eğitim merkezimiz; tam donanımlı köprüüstü simülatörü, ARPA/Radar eğitim istasyonları, ECDIS terminalleri, GMDSS telsiz laboratuvarı ve yangın tatbikat alanıyla donatılmıştır.</p>",
                    'image' => 'h3.jpg',
                    'image_alt' => 'Boğaziçi Denizcilik Eğitim Kurumu',
                    'image_position' => 'right',
                ],
            ],
        ];

        $this->syncBlocks($page, $blocks);
    }

    private function seedVizyonMisyon(): void
    {
        $page = Page::firstOrCreate(
            ['slug' => 'vizyon-misyon'],
            [
                'title' => 'Vizyon ve Misyon',
                'meta_title' => 'Vizyon ve Misyon | Boğaziçi Denizcilik',
                'meta_description' => "Boğaziçi Denizcilik Eğitim Kurumu'nun vizyonu, misyonu ve temel değerleri.",
                'is_active' => true,
            ],
        );

        $blocks = [
            [
                'order_index' => 0,
                'type' => 'hero',
                'content' => [
                    'breadcrumb' => 'Kurumsal|/kurumsal / Vizyon ve Misyon',
                    'title' => "Nereye Gidiyoruz,\nNeden Buradayız?",
                    'highlight' => 'Neden Buradayız?',
                    'description' => 'Denizcilik eğitiminde mükemmelliği bir hedef değil, bir standart olarak benimsiyoruz.',
                ],
            ],
            [
                'order_index' => 1,
                'type' => 'text',
                'content' => [
                    '_width' => 'half',
                    'label' => 'VİZYONUMUZ',
                    'title' => 'Vizyonumuz',
                    'body' => "<p>Türkiye'nin denizcilik eğitiminde referans noktası olarak, uluslararası standartları belirleyen, teknoloji odaklı ve sürekli gelişen bir eğitim kurumu olmak. Mezunlarımızın dünya denizlerinde tercih edilen profesyoneller olmasını sağlamak.</p>",
                ],
            ],
            [
                'order_index' => 2,
                'type' => 'text',
                'content' => [
                    '_width' => 'half',
                    'label' => 'MİSYONUMUZ',
                    'title' => 'Misyonumuz',
                    'body' => '<p>Ulaştırma ve Altyapı Bakanlığı ile IMO standartlarına uygun, STCW Sözleşmesi gerekliliklerini karşılayan eğitim programları sunmak. Denizcilik sektörünün ihtiyaç duyduğu nitelikli, güvenlik bilincine sahip personel yetiştirmek.</p>',
                ],
            ],
            [
                'order_index' => 3,
                'type' => 'cards',
                'content' => [
                    'label' => 'TEMEL DEĞERLERİMİZ',
                    'title' => 'Bizi Biz Yapan İlkeler',
                    'card_1_title' => 'Denizde Güvenlik Önceliğimiz',
                    'card_1_text' => 'Tüm eğitim programlarımızın temelinde denizde can ve mal güvenliği ilkesi yer alır.',
                    'card_1_icon' => 'shield',
                    'card_2_title' => 'Uluslararası Standartlar',
                    'card_2_text' => 'IMO ve STCW standartlarına tam uyum, UAB denetim ve onayıyla kalitemizi garanti altına alırız.',
                    'card_2_icon' => 'globe',
                    'card_3_title' => 'Uygulamalı Eğitim',
                    'card_3_text' => 'Simülatör, laboratuvar ve tatbikat alanlarında gerçek senaryolarla öğrenme deneyimi sunarız.',
                    'card_3_icon' => 'heart',
                    'card_4_title' => 'Sürekli Gelişim',
                    'card_4_text' => 'Müfredatımızı sektörel gelişmeler doğrultusunda sürekli günceller, eğitim kadromuzun gelişimini destekleriz.',
                    'card_4_icon' => 'zap',
                    'card_5_title' => 'Kursiyer Odaklılık',
                    'card_5_text' => 'Her kursiyerin bireysel ihtiyaçlarına yönelik danışmanlık ve destek hizmeti sunuruz.',
                    'card_5_icon' => 'target',
                    'card_6_title' => 'Şeffaflık',
                    'card_6_text' => 'Eğitim süreçlerimizi, başarı oranlarımızı ve mezun istatistiklerimizi kamuoyuyla paylaşırız.',
                    'card_6_icon' => 'eye',
                ],
            ],
            [
                'order_index' => 4,
                'type' => 'cta',
                'content' => [
                    'title' => 'Bu Değerleri Birlikte Yaşayalım',
                    'description' => 'Kalite Politikamız ve akreditasyonlarımız hakkında bilgi alın.',
                    'button_text' => 'Kalite Politikamız',
                    'button_url' => '/kurumsal/kalite-politikasi',
                    'button_2_text' => 'Eğitimleri İncele',
                    'button_2_url' => '/egitimler',
                ],
            ],
        ];

        $this->syncBlocks($page, $blocks);
    }

    /**
     * @param  array<int, array{order_index: int, type: string, content: array<string, mixed>}>  $blocks
     */
    private function syncBlocks(Page $page, array $blocks): void
    {
        foreach ($blocks as $block) {
            PageBlock::updateOrCreate(
                ['page_id' => $page->id, 'order_index' => $block['order_index']],
                ['type' => $block['type'], 'content' => $block['content']],
            );
        }
    }
}
