update deploy
This commit is contained in:
274
database/seeders/SettingSeeder.php
Normal file
274
database/seeders/SettingSeeder.php
Normal file
@@ -0,0 +1,274 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class SettingSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Seed site settings across all groups.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$settings = [
|
||||
...$this->general(),
|
||||
...$this->contact(),
|
||||
...$this->maps(),
|
||||
...$this->social(),
|
||||
...$this->seo(),
|
||||
...$this->analytics(),
|
||||
...$this->header(),
|
||||
...$this->footer(),
|
||||
...$this->integrations(),
|
||||
...$this->infoSections(),
|
||||
];
|
||||
|
||||
foreach ($settings as $setting) {
|
||||
$value = $setting['value'];
|
||||
unset($setting['value']);
|
||||
|
||||
Setting::query()->updateOrCreate(
|
||||
['group' => $setting['group'], 'key' => $setting['key']],
|
||||
array_merge($setting, [
|
||||
'value' => Setting::query()
|
||||
->where('group', $setting['group'])
|
||||
->where('key', $setting['key'])
|
||||
->value('value') ?? $value,
|
||||
]),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function general(): array
|
||||
{
|
||||
$g = 'general';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'site_name', 'value' => 'Boğaziçi Denizcilik Eğitim Kurumu', 'type' => 'text', 'label' => 'Site Adı', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'site_tagline', 'value' => null, 'type' => 'text', 'label' => 'Slogan', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'site_description', 'value' => null, 'type' => 'textarea', 'label' => 'Kısa Site Açıklaması', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'logo_light', 'value' => null, 'type' => 'image', 'label' => 'Logo — Açık Tema (beyaz navbar)', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'logo_dark', 'value' => null, 'type' => 'image', 'label' => 'Logo — Koyu Tema (dark bg)', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'favicon', 'value' => null, 'type' => 'image', 'label' => 'Favicon (32x32 PNG)', 'order_index' => 5, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'apple_touch_icon', 'value' => null, 'type' => 'image', 'label' => 'Apple Touch Icon (180x180)', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'announcement_bar_active', 'value' => 'false', 'type' => 'boolean', 'label' => 'Üst Bar Aktif mi', 'order_index' => 7, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'announcement_bar_text', 'value' => null, 'type' => 'text', 'label' => 'Üst Bar Metni', 'order_index' => 8, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'announcement_bar_url', 'value' => null, 'type' => 'url', 'label' => 'Üst Bar Linki', 'order_index' => 9, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'announcement_bar_bg_color', 'value' => '#1a3e74', 'type' => 'color', 'label' => 'Üst Bar Arka Plan Rengi', 'order_index' => 10, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'maintenance_mode', 'value' => 'false', 'type' => 'boolean', 'label' => 'Bakım Modu', 'order_index' => 11, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'maintenance_message', 'value' => null, 'type' => 'textarea', 'label' => 'Bakım Modu Mesajı', 'order_index' => 12, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function contact(): array
|
||||
{
|
||||
$g = 'contact';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'phone_primary', 'value' => null, 'type' => 'text', 'label' => 'Ana Telefon', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'phone_secondary', 'value' => null, 'type' => 'text', 'label' => 'İkinci Telefon', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'email_info', 'value' => null, 'type' => 'text', 'label' => 'Bilgi E-postası', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'email_support', 'value' => null, 'type' => 'text', 'label' => 'Destek E-postası', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'email_kayit', 'value' => null, 'type' => 'text', 'label' => 'Kayıt E-postası', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'address_full', 'value' => null, 'type' => 'textarea', 'label' => 'Tam Adres', 'order_index' => 5, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'address_short', 'value' => null, 'type' => 'text', 'label' => 'Kısa Adres (navbar için)', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'district', 'value' => null, 'type' => 'text', 'label' => 'İlçe', 'order_index' => 7, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'city', 'value' => null, 'type' => 'text', 'label' => 'Şehir', 'order_index' => 8, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'postal_code', 'value' => null, 'type' => 'text', 'label' => 'Posta Kodu', 'order_index' => 9, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'working_hours_weekday', 'value' => null, 'type' => 'text', 'label' => 'Hafta İçi Saatleri', 'order_index' => 10, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'working_hours_saturday', 'value' => null, 'type' => 'text', 'label' => 'Cumartesi Saatleri', 'order_index' => 11, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'working_hours_sunday', 'value' => null, 'type' => 'text', 'label' => 'Pazar Saatleri', 'order_index' => 12, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'whatsapp_number', 'value' => null, 'type' => 'text', 'label' => 'WhatsApp (+90 ile başlayan)', 'order_index' => 13, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'whatsapp_message', 'value' => null, 'type' => 'text', 'label' => 'WhatsApp Varsayılan Mesaj', 'order_index' => 14, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function maps(): array
|
||||
{
|
||||
$g = 'maps';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'google_maps_embed_url', 'value' => null, 'type' => 'textarea', 'label' => 'Google Maps Embed URL (iframe src)', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'google_maps_place_url', 'value' => null, 'type' => 'url', 'label' => 'Google Maps Profil Linki', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'google_maps_api_key', 'value' => null, 'type' => 'text', 'label' => 'Google Maps API Key', 'order_index' => 2, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'latitude', 'value' => null, 'type' => 'text', 'label' => 'Enlem', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'longitude', 'value' => null, 'type' => 'text', 'label' => 'Boylam', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'map_zoom_level', 'value' => '15', 'type' => 'text', 'label' => 'Harita Zoom (1-20)', 'order_index' => 5, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function social(): array
|
||||
{
|
||||
$g = 'social';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'instagram_url', 'value' => null, 'type' => 'url', 'label' => 'Instagram Profil URL', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'instagram_handle', 'value' => null, 'type' => 'text', 'label' => 'Instagram Kullanıcı Adı (@siz)', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'facebook_url', 'value' => null, 'type' => 'url', 'label' => 'Facebook Sayfası URL', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'facebook_page_id', 'value' => null, 'type' => 'text', 'label' => 'Facebook Page ID', 'order_index' => 3, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'twitter_url', 'value' => null, 'type' => 'url', 'label' => 'X (Twitter) Profil URL', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_handle', 'value' => null, 'type' => 'text', 'label' => 'X Kullanıcı Adı (@siz)', 'order_index' => 5, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'youtube_url', 'value' => null, 'type' => 'url', 'label' => 'YouTube Kanal URL', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'youtube_channel_id', 'value' => null, 'type' => 'text', 'label' => 'YouTube Channel ID', 'order_index' => 7, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'linkedin_url', 'value' => null, 'type' => 'url', 'label' => 'LinkedIn Sayfa URL', 'order_index' => 8, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'tiktok_url', 'value' => null, 'type' => 'url', 'label' => 'TikTok Profil URL', 'order_index' => 9, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'pinterest_url', 'value' => null, 'type' => 'url', 'label' => 'Pinterest URL', 'order_index' => 10, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function seo(): array
|
||||
{
|
||||
$g = 'seo';
|
||||
|
||||
return [
|
||||
// Temel SEO
|
||||
['group' => $g, 'key' => 'meta_title_suffix', 'value' => 'Boğaziçi Denizcilik', 'type' => 'text', 'label' => 'Title Eki', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'meta_title_separator', 'value' => '|', 'type' => 'text', 'label' => 'Ayraç Karakteri', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'default_meta_description', 'value' => null, 'type' => 'textarea', 'label' => 'Varsayılan Meta Açıklama', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'default_meta_keywords', 'value' => null, 'type' => 'textarea', 'label' => 'Varsayılan Keywords (virgülle)', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'robots', 'value' => 'index, follow', 'type' => 'text', 'label' => 'Robots', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'canonical_domain', 'value' => null, 'type' => 'url', 'label' => 'Canonical Domain', 'order_index' => 5, 'is_public' => true],
|
||||
// Open Graph
|
||||
['group' => $g, 'key' => 'og_title', 'value' => null, 'type' => 'text', 'label' => 'OG Default Title', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'og_description', 'value' => null, 'type' => 'textarea', 'label' => 'OG Default Description', 'order_index' => 7, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'og_image', 'value' => null, 'type' => 'image', 'label' => 'OG Default Görsel (1200x630 px)', 'order_index' => 8, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'og_type', 'value' => 'website', 'type' => 'text', 'label' => 'OG Type', 'order_index' => 9, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'og_locale', 'value' => 'tr_TR', 'type' => 'text', 'label' => 'OG Locale', 'order_index' => 10, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'og_site_name', 'value' => null, 'type' => 'text', 'label' => 'OG Site Name', 'order_index' => 11, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'facebook_app_id', 'value' => null, 'type' => 'text', 'label' => 'Facebook App ID', 'order_index' => 12, 'is_public' => false],
|
||||
// Twitter / X Card
|
||||
['group' => $g, 'key' => 'twitter_card_type', 'value' => 'summary_large_image', 'type' => 'text', 'label' => 'Card Tipi', 'order_index' => 13, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_site', 'value' => null, 'type' => 'text', 'label' => 'Site @handle', 'order_index' => 14, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_creator', 'value' => null, 'type' => 'text', 'label' => 'İçerik Sahibi @handle', 'order_index' => 15, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_title', 'value' => null, 'type' => 'text', 'label' => 'Twitter Default Title', 'order_index' => 16, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_description', 'value' => null, 'type' => 'textarea', 'label' => 'Twitter Default Description', 'order_index' => 17, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'twitter_image', 'value' => null, 'type' => 'image', 'label' => 'Twitter Card Görseli (1200x600 px)', 'order_index' => 18, 'is_public' => true],
|
||||
// Doğrulama Kodları
|
||||
['group' => $g, 'key' => 'google_site_verification', 'value' => null, 'type' => 'text', 'label' => 'Google Search Console Kodu', 'order_index' => 19, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'bing_site_verification', 'value' => null, 'type' => 'text', 'label' => 'Bing Webmaster Kodu', 'order_index' => 20, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'yandex_verification', 'value' => null, 'type' => 'text', 'label' => 'Yandex Webmaster Kodu', 'order_index' => 21, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'pinterest_verification', 'value' => null, 'type' => 'text', 'label' => 'Pinterest Doğrulama Kodu', 'order_index' => 22, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function analytics(): array
|
||||
{
|
||||
$g = 'analytics';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'google_analytics_id', 'value' => null, 'type' => 'text', 'label' => 'Google Analytics 4 ID (G-XXXXXXXX)', 'order_index' => 0, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'google_tag_manager_id', 'value' => null, 'type' => 'text', 'label' => 'Google Tag Manager ID (GTM-XXXXXXX)', 'order_index' => 1, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'google_ads_id', 'value' => null, 'type' => 'text', 'label' => 'Google Ads Conversion ID', 'order_index' => 2, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'facebook_pixel_id', 'value' => null, 'type' => 'text', 'label' => 'Meta (Facebook) Pixel ID', 'order_index' => 3, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'hotjar_id', 'value' => null, 'type' => 'text', 'label' => 'Hotjar Site ID', 'order_index' => 4, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'clarity_id', 'value' => null, 'type' => 'text', 'label' => 'Microsoft Clarity ID', 'order_index' => 5, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'tiktok_pixel_id', 'value' => null, 'type' => 'text', 'label' => 'TikTok Pixel ID', 'order_index' => 6, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'crisp_website_id', 'value' => null, 'type' => 'text', 'label' => 'Crisp Chat Website ID', 'order_index' => 7, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'custom_head_scripts', 'value' => null, 'type' => 'textarea', 'label' => '<head> içine özel script', 'order_index' => 8, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'custom_body_scripts', 'value' => null, 'type' => 'textarea', 'label' => '<body> sonuna özel script', 'order_index' => 9, 'is_public' => false],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function header(): array
|
||||
{
|
||||
$g = 'header';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'navbar_style_default', 'value' => 'transparent', 'type' => 'text', 'label' => 'Varsayılan Navbar Stili (transparent/white)', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'cta_button_text', 'value' => 'Başvuru Yap', 'type' => 'text', 'label' => 'Sağ Üst Buton Metni', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'cta_button_url', 'value' => '/kayit', 'type' => 'url', 'label' => 'Sağ Üst Buton Linki', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'cta_button_color', 'value' => '#1a3e74', 'type' => 'color', 'label' => 'Sağ Üst Buton Rengi', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_phone_topbar', 'value' => 'true', 'type' => 'boolean', 'label' => "Üst Bar'da Telefon Göster", 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_email_topbar', 'value' => 'true', 'type' => 'boolean', 'label' => "Üst Bar'da E-posta Göster", 'order_index' => 5, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_address_topbar', 'value' => 'true', 'type' => 'boolean', 'label' => "Üst Bar'da Adres Göster", 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_hours_topbar', 'value' => 'true', 'type' => 'boolean', 'label' => "Üst Bar'da Saat Göster", 'order_index' => 7, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_social_navbar', 'value' => 'true', 'type' => 'boolean', 'label' => "Navbar'da Sosyal Medya İkonları Göster", 'order_index' => 8, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function footer(): array
|
||||
{
|
||||
$g = 'footer';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'footer_description', 'value' => null, 'type' => 'textarea', 'label' => 'Footer Açıklaması', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'footer_logo', 'value' => null, 'type' => 'image', 'label' => 'Footer Logo (varsa ayrı)', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'copyright_text', 'value' => '© 2026 Boğaziçi Denizcilik', 'type' => 'text', 'label' => 'Copyright Metni', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'footer_address', 'value' => null, 'type' => 'textarea', 'label' => 'Footer Adres', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'footer_phone', 'value' => null, 'type' => 'text', 'label' => 'Footer Telefon', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'footer_email', 'value' => null, 'type' => 'text', 'label' => 'Footer E-posta', 'order_index' => 5, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'footer_bg_color', 'value' => '#0f2847', 'type' => 'color', 'label' => 'Footer Arka Plan Rengi', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'show_social_footer', 'value' => 'true', 'type' => 'boolean', 'label' => "Footer'da Sosyal Medya Göster", 'order_index' => 7, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function integrations(): array
|
||||
{
|
||||
$g = 'integrations';
|
||||
|
||||
return [
|
||||
['group' => $g, 'key' => 'recaptcha_site_key', 'value' => null, 'type' => 'text', 'label' => 'reCAPTCHA v3 Site Key', 'order_index' => 0, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'recaptcha_secret_key', 'value' => null, 'type' => 'text', 'label' => 'reCAPTCHA v3 Secret Key', 'order_index' => 1, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_host', 'value' => null, 'type' => 'text', 'label' => 'SMTP Host', 'order_index' => 2, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_port', 'value' => '587', 'type' => 'text', 'label' => 'SMTP Port', 'order_index' => 3, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_username', 'value' => null, 'type' => 'text', 'label' => 'SMTP Kullanıcı Adı', 'order_index' => 4, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_password', 'value' => null, 'type' => 'text', 'label' => 'SMTP Şifre', 'order_index' => 5, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_encryption', 'value' => 'tls', 'type' => 'text', 'label' => 'SMTP Şifreleme (tls/ssl)', 'order_index' => 6, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_from_name', 'value' => 'Boğaziçi Denizcilik', 'type' => 'text', 'label' => 'Mail Gönderen Adı', 'order_index' => 7, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'smtp_from_email', 'value' => null, 'type' => 'text', 'label' => 'Mail Gönderen Adresi', 'order_index' => 8, 'is_public' => false],
|
||||
['group' => $g, 'key' => 'notification_emails', 'value' => null, 'type' => 'textarea', 'label' => 'Bildirim E-postaları (virgülle)', 'order_index' => 9, 'is_public' => false],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<array<string, mixed>>
|
||||
*/
|
||||
private function infoSections(): array
|
||||
{
|
||||
$g = 'info_sections';
|
||||
|
||||
return [
|
||||
// Info Section 1
|
||||
['group' => $g, 'key' => 'info_section_1_badge', 'value' => 'Neden Boğaziçi Denizcilik?', 'type' => 'text', 'label' => 'Bölüm 1 — Etiket', 'order_index' => 0, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_1_title', 'value' => 'Uluslararası Standartlarda Denizcilik Eğitimi', 'type' => 'text', 'label' => 'Bölüm 1 — Başlık', 'order_index' => 1, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_1_body', 'value' => 'Boğaziçi Denizcilik Eğitim Kurumu, Ulaştırma ve Altyapı Bakanlığı onaylı eğitim programlarıyla denizcilik sektörüne nitelikli personel yetiştirmektedir. STCW Sözleşmesi gerekliliklerini karşılayan müfredatımız; köprüüstü simülatörleri, GMDSS telsiz laboratuvarı ve yangın tatbikat alanında uygulamalı olarak verilmektedir.', 'type' => 'textarea', 'label' => 'Bölüm 1 — İçerik', 'order_index' => 2, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_1_quote', 'value' => "Boğaziçi Denizcilik'ten aldığım STCW eğitimleri ve simülatör deneyimi sayesinde uluslararası bir denizcilik şirketinde güverte zabiti olarak göreve başladım.", 'type' => 'text', 'label' => 'Bölüm 1 — Alıntı', 'order_index' => 3, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_1_quote_author', 'value' => 'Kpt. Murat Aydın — Vardiya Zabiti, MSC Denizcilik', 'type' => 'text', 'label' => 'Bölüm 1 — Alıntı Yazarı', 'order_index' => 4, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_1_image', 'value' => null, 'type' => 'image', 'label' => 'Bölüm 1 — Görsel', 'order_index' => 5, 'is_public' => true],
|
||||
// Info Section 2
|
||||
['group' => $g, 'key' => 'info_section_2_badge', 'value' => 'Simülatör Destekli Eğitim', 'type' => 'text', 'label' => 'Bölüm 2 — Etiket', 'order_index' => 6, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_2_title', 'value' => 'Teoriden Pratiğe, Sınıftan Köprüüstüne', 'type' => 'text', 'label' => 'Bölüm 2 — Başlık', 'order_index' => 7, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_2_body', 'value' => 'Eğitim merkezimizde bulunan tam donanımlı köprüüstü simülatörü, ARPA/radar eğitim istasyonları ve ECDIS terminalleri ile kursiyerlerimiz gerçek seyir senaryolarında deneyim kazanmaktadır. GMDSS laboratuvarımızda DSC, NAVTEX, Inmarsat-C ve VHF/MF/HF cihazları üzerinde birebir uygulama yapılmaktadır.', 'type' => 'textarea', 'label' => 'Bölüm 2 — İçerik', 'order_index' => 8, 'is_public' => true],
|
||||
['group' => $g, 'key' => 'info_section_2_image', 'value' => null, 'type' => 'image', 'label' => 'Bölüm 2 — Görsel', 'order_index' => 9, 'is_public' => true],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user