<?php
declare(strict_types=1);

use App\Core\Database;

return function (Database $db): void {
    $configs = [
        [
            'config_key'     => 'branding.logo_path',
            'config_value'   => '',
            'config_type'    => 'string',
            'group_name'     => 'branding',
            'description_ar' => 'مسار شعار النادي (قديم)',
            'description_en' => 'Club logo file path (legacy)',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.logo_data',
            'config_value'   => '',
            'config_type'    => 'string',
            'group_name'     => 'branding',
            'description_ar' => 'بيانات شعار النادي (base64)',
            'description_en' => 'Club logo data URI (base64)',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.club_name_ar',
            'config_value'   => 'الكابتن',
            'config_type'    => 'string',
            'group_name'     => 'branding',
            'description_ar' => 'اسم النادي بالعربية',
            'description_en' => 'Club name in Arabic',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.club_name_en',
            'config_value'   => 'El Captain',
            'config_type'    => 'string',
            'group_name'     => 'branding',
            'description_ar' => 'اسم النادي بالإنجليزية',
            'description_en' => 'Club name in English',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.club_subtitle',
            'config_value'   => 'SPORTS CITY',
            'config_type'    => 'string',
            'group_name'     => 'branding',
            'description_ar' => 'العنوان الفرعي للنادي',
            'description_en' => 'Club subtitle',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.carnet_design',
            'config_value'   => json_encode([
                'front_bg_color'         => '#0D7377',
                'front_text_color'       => '#ffffff',
                'front_show_subtitle'    => true,
                'front_show_english_name'=> true,
                'front_show_member_type' => true,
                'front_show_qr'          => true,
                'front_qr_position'      => 'bottom-left',
                'front_logo_position'    => 'top-center',
                'back_show_branch_strip' => true,
                'back_strip_color'       => '#0D7377',
                'back_show_instructions' => true,
                'back_instructions_text' => 'برجاء حمل هذه البطاقة أثناء التواجد بالنادي وتقديمها عند الطلب',
                'back_fields'            => ['full_name_ar', 'membership_number', 'branch_name', 'issued_at'],
            ], JSON_UNESCAPED_UNICODE),
            'config_type'    => 'json',
            'group_name'     => 'branding',
            'description_ar' => 'تصميم الكارنيه (وجه وخلفية)',
            'description_en' => 'Carnet card design (front & back)',
            'is_editable'    => 1,
        ],
        [
            'config_key'     => 'branding.receipt_design',
            'config_value'   => json_encode([
                'show_logo'              => true,
                'show_watermark'         => true,
                'watermark_text'         => 'الكابتن',
                'watermark_opacity'      => 0.06,
                'header_color'           => '#0D7377',
                'show_footer_print_info' => true,
            ], JSON_UNESCAPED_UNICODE),
            'config_type'    => 'json',
            'group_name'     => 'branding',
            'description_ar' => 'تصميم الإيصال (شعار وعلامة مائية)',
            'description_en' => 'Receipt design (logo & watermark)',
            'is_editable'    => 1,
        ],
    ];

    foreach ($configs as $config) {
        $existing = $db->selectOne(
            "SELECT id FROM system_config WHERE config_key = ?",
            [$config['config_key']]
        );
        if ($existing) {
            continue;
        }
        $db->insert('system_config', array_merge($config, [
            'created_at' => date('Y-m-d H:i:s'),
            'updated_at' => date('Y-m-d H:i:s'),
        ]));
    }
};
