<?php
session_start();
$ADMIN_USER = 'admin';
$ADMIN_PASS = 'Alarcade123#';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['login'])) {
    if ($_POST['username'] === $ADMIN_USER && $_POST['password'] === $ADMIN_PASS) {
        $_SESSION['branding_auth'] = true;
    }
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['logout'])) {
    unset($_SESSION['branding_auth']);
}

if (!($_SESSION['branding_auth'] ?? false)) {
    ?><!DOCTYPE html><html lang="ar" dir="rtl"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>EL3AB Branding Admin</title>
    <style>body{background:#0a0a1a;color:#f8fafc;font-family:'IBM Plex Sans Arabic',sans-serif;display:flex;align-items:center;justify-content:center;height:100vh;margin:0}form{background:#1a1a2e;padding:40px;border-radius:16px;width:320px;text-align:center}input{width:100%;padding:12px;margin:8px 0;background:#2a2a4a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px}button{width:100%;padding:12px;margin-top:16px;background:linear-gradient(135deg,#E4AC38,#FFCC66);border:none;border-radius:8px;color:#1a1a1a;font-weight:700;font-size:15px;cursor:pointer}h2{color:#E4AC38;margin-bottom:16px}</style></head><body>
    <form method="POST"><h2>EL3AB Branding</h2><input name="username" placeholder="Username" required><input name="password" type="password" placeholder="Password" required><button name="login" value="1">دخول</button></form></body></html><?php
    exit;
}

$BRAND_DIR = __DIR__ . '/../public/assets/brand/';
if (!is_dir($BRAND_DIR)) mkdir($BRAND_DIR, 0777, true);

$THEME_FILE = __DIR__ . '/../public/assets/brand/theme.json';
$theme = file_exists($THEME_FILE) ? json_decode(file_get_contents($THEME_FILE), true) : [];

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_theme'])) {
    $theme = array_merge($theme, $_POST['theme'] ?? []);
    file_put_contents($THEME_FILE, json_encode($theme, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['asset'])) {
    $slot = $_POST['slot'] ?? '';
    $expectedW = intval($_POST['expected_w'] ?? 64);
    $expectedH = intval($_POST['expected_h'] ?? 64);
    $file = $_FILES['asset'];
    if ($file['error'] === 0 && $slot) {
        $ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
        foreach (glob($BRAND_DIR . $slot . '.*') as $old) { unlink($old); }
        $dest = $BRAND_DIR . $slot . '.' . $ext;
        move_uploaded_file($file['tmp_name'], $dest);
        $theme['assets'][$slot] = '/public/assets/brand/' . $slot . '.' . $ext;
        $theme['asset_sizes'][$slot] = ['w' => $expectedW, 'h' => $expectedH];
        file_put_contents($THEME_FILE, json_encode($theme, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    }
}
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>EL3AB — Branding Admin</title>
    <style>
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { background: #0a0a1a; color: #f8fafc; font-family: 'IBM Plex Sans Arabic', 'Inter', sans-serif; line-height: 1.6; }
        .container { max-width: 900px; margin: 0 auto; padding: 24px 16px; }
        h1 { color: #E4AC38; font-size: 24px; margin-bottom: 8px; }
        h2 { color: #94a3b8; font-size: 18px; margin: 32px 0 12px; border-bottom: 1px solid #1a1a2e; padding-bottom: 8px; }
        h3 { color: #64748b; font-size: 14px; margin: 16px 0 8px; }
        .logout { float: left; background: none; border: 1px solid #333; color: #94a3b8; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 12px; }
        .section { background: #1a1a2e; border-radius: 12px; padding: 20px; margin-bottom: 16px; }
        .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        @media(max-width:600px) { .grid { grid-template-columns: 1fr; } }
        .field { margin-bottom: 12px; }
        .field label { display: block; font-size: 12px; color: #94a3b8; margin-bottom: 4px; font-weight: 600; }
        .field .hint { font-size: 10px; color: #64748b; margin-top: 2px; }
        input[type="color"] { width: 48px; height: 36px; border: 1px solid #333; border-radius: 6px; background: #2a2a4a; cursor: pointer; }
        input[type="text"], input[type="number"], select { width: 100%; padding: 8px 12px; background: #2a2a4a; border: 1px solid #333; border-radius: 6px; color: #fff; font-size: 13px; }
        .color-row { display: flex; align-items: center; gap: 8px; }
        .color-row input[type="text"] { flex: 1; }
        .upload-box { border: 2px dashed #333; border-radius: 8px; padding: 16px; text-align: center; cursor: pointer; transition: border-color 0.2s; }
        .upload-box:hover { border-color: #E4AC38; }
        .upload-box .size-hint { font-size: 11px; color: #E4AC38; font-weight: 600; margin-top: 4px; }
        .upload-box .current { margin-top: 8px; }
        .upload-box img { max-width: 80px; max-height: 80px; border-radius: 4px; }
        button[type="submit"] { background: linear-gradient(135deg, #E4AC38, #FFCC66); color: #1a1a1a; border: none; padding: 12px 32px; border-radius: 8px; font-weight: 700; font-size: 14px; cursor: pointer; margin-top: 16px; }
        .saved { background: #34D399; color: #000; padding: 8px 16px; border-radius: 6px; margin: 8px 0; font-size: 13px; font-weight: 600; }
    </style>
</head>
<body>
<div class="container">
    <form method="POST" style="display:inline;"><button class="logout" name="logout" value="1">خروج</button></form>
    <h1>🎨 EL3AB Branding Admin</h1>
    <p style="color:#64748b;font-size:13px;margin-bottom:24px;">إدارة الهوية البصرية — الألوان والأيقونات والأصول تظهر كافتراضي لكل اللاعبين</p>

    <?php if (isset($_POST['save_theme'])): ?><div class="saved">✓ تم حفظ التغييرات</div><?php endif; ?>

    <form method="POST">
    <input type="hidden" name="save_theme" value="1">

    <!-- COLORS -->
    <h2>🎨 الألوان الأساسية</h2>
    <div class="section">
        <div class="grid">
            <?php
            $colors = [
                ['key' => 'bg_deep', 'label' => 'خلفية عميقة', 'default' => '#050810', 'hint' => 'أغمق طبقة في التطبيق'],
                ['key' => 'bg_base', 'label' => 'خلفية أساسية', 'default' => '#0A1020', 'hint' => 'خلفية الشاشات'],
                ['key' => 'bg_card', 'label' => 'خلفية البطاقات', 'default' => '#121A2E', 'hint' => 'سطح البطاقات'],
                ['key' => 'bg_elevated', 'label' => 'خلفية مرتفعة', 'default' => '#1A2440', 'hint' => 'الحقول والعناصر المرتفعة'],
                ['key' => 'gold', 'label' => 'الذهبي (العلامة التجارية)', 'default' => '#E4AC38', 'hint' => 'اللون الرئيسي، الأزرار، الجوائز'],
                ['key' => 'gold_soft', 'label' => 'ذهبي فاتح', 'default' => '#FFCC66', 'hint' => 'تدرج الأزرار الذهبية'],
                ['key' => 'blue', 'label' => 'الأزرق', 'default' => '#2082F0', 'hint' => 'الروابط، المنافسة'],
                ['key' => 'cyan', 'label' => 'السماوي', 'default' => '#00FFFF', 'hint' => 'تأثيرات التوهج'],
                ['key' => 'purple', 'label' => 'البنفسجي', 'default' => '#6834BE', 'hint' => 'النادر/الأسطوري'],
                ['key' => 'success', 'label' => 'النجاح/الفوز', 'default' => '#34D399', 'hint' => 'لون الفوز والنجاح'],
                ['key' => 'error', 'label' => 'الخطأ/الخسارة', 'default' => '#EF4444', 'hint' => 'لون الخسارة والخطأ'],
                ['key' => 'text_primary', 'label' => 'نص أساسي', 'default' => '#F8FAFC', 'hint' => 'لون النص الرئيسي'],
                ['key' => 'text_secondary', 'label' => 'نص ثانوي', 'default' => '#94A3B8', 'hint' => 'نص أقل أهمية'],
            ];
            foreach ($colors as $c):
                $val = $theme[$c['key']] ?? $c['default'];
            ?>
            <div class="field">
                <label><?= $c['label'] ?></label>
                <div class="color-row">
                    <input type="color" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>">
                    <input type="text" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>" pattern="#[0-9A-Fa-f]{6}">
                </div>
                <div class="hint"><?= $c['hint'] ?></div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <!-- GAME COLORS -->
    <h2>🎮 ألوان الألعاب</h2>
    <div class="section">
        <div class="grid">
            <?php
            $gameColors = [
                ['key' => 'chess_primary', 'label' => 'شطرنج — أساسي', 'default' => '#2563EB'],
                ['key' => 'chess_secondary', 'label' => 'شطرنج — ثانوي', 'default' => '#F5B731'],
                ['key' => 'domino_primary', 'label' => 'دومينو — أساسي', 'default' => '#10B981'],
                ['key' => 'domino_secondary', 'label' => 'دومينو — ثانوي', 'default' => '#06B6D4'],
                ['key' => 'ludo_primary', 'label' => 'لودو — أساسي', 'default' => '#8B5CF6'],
                ['key' => 'ludo_secondary', 'label' => 'لودو — ثانوي', 'default' => '#EC4899'],
                ['key' => 'backgammon_primary', 'label' => 'طاولة — أساسي', 'default' => '#F59E0B'],
                ['key' => 'backgammon_secondary', 'label' => 'طاولة — ثانوي', 'default' => '#EF4444'],
            ];
            foreach ($gameColors as $c):
                $val = $theme[$c['key']] ?? $c['default'];
            ?>
            <div class="field">
                <label><?= $c['label'] ?></label>
                <div class="color-row">
                    <input type="color" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>">
                    <input type="text" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>">
                </div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <!-- CHESS BOARD -->
    <h2>♟ ألوان رقعة الشطرنج</h2>
    <div class="section">
        <div class="grid">
            <?php
            $boardColors = [
                ['key' => 'board_light', 'label' => 'مربع فاتح', 'default' => '#F0D9B5', 'hint' => 'لون المربعات الفاتحة'],
                ['key' => 'board_dark', 'label' => 'مربع غامق', 'default' => '#B58863', 'hint' => 'لون المربعات الغامقة'],
                ['key' => 'board_highlight_light', 'label' => 'تمييز فاتح', 'default' => '#CDD16A', 'hint' => 'آخر نقلة — مربع فاتح'],
                ['key' => 'board_highlight_dark', 'label' => 'تمييز غامق', 'default' => '#AAA23A', 'hint' => 'آخر نقلة — مربع غامق'],
                ['key' => 'board_check', 'label' => 'تهديد الملك', 'default' => '#FF6B6B', 'hint' => 'عندما يكون الملك مكشوف'],
            ];
            foreach ($boardColors as $c):
                $val = $theme[$c['key']] ?? $c['default'];
            ?>
            <div class="field">
                <label><?= $c['label'] ?></label>
                <div class="color-row">
                    <input type="color" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>">
                    <input type="text" name="theme[<?= $c['key'] ?>]" value="<?= $val ?>">
                </div>
                <div class="hint"><?= $c['hint'] ?></div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <!-- ANIMATIONS -->
    <h2>⚡ الحركة والرسوم المتحركة</h2>
    <div class="section">
        <div class="grid">
            <?php
            $anims = [
                ['key' => 'anim_speed', 'label' => 'سرعة الانتقال (ms)', 'default' => '250', 'hint' => 'المدة الافتراضية للانتقالات', 'type' => 'number'],
                ['key' => 'anim_fast', 'label' => 'سرعة سريعة (ms)', 'default' => '150', 'hint' => 'أزرار، تغذية راجعة', 'type' => 'number'],
                ['key' => 'anim_slow', 'label' => 'سرعة بطيئة (ms)', 'default' => '400', 'hint' => 'انتقالات المشاهد', 'type' => 'number'],
                ['key' => 'btn_scale', 'label' => 'تصغير الزر عند الضغط', 'default' => '0.92', 'hint' => '0.9 = ضغط قوي, 0.97 = ضغط خفيف', 'type' => 'text'],
                ['key' => 'border_radius', 'label' => 'انحناء الزوايا (px)', 'default' => '12', 'hint' => 'نصف قطر الأزرار', 'type' => 'number'],
                ['key' => 'card_radius', 'label' => 'انحناء البطاقات (px)', 'default' => '20', 'hint' => 'نصف قطر البطاقات والنوافذ', 'type' => 'number'],
            ];
            foreach ($anims as $a):
                $val = $theme[$a['key']] ?? $a['default'];
            ?>
            <div class="field">
                <label><?= $a['label'] ?></label>
                <input type="<?= $a['type'] ?>" name="theme[<?= $a['key'] ?>]" value="<?= $val ?>">
                <div class="hint"><?= $a['hint'] ?></div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <!-- BUTTON SHAPES -->
    <h2>🔘 أشكال الأزرار</h2>
    <div class="section">
        <div class="grid">
            <?php
            $shapes = [
                ['key' => 'btn_radius', 'label' => 'انحناء الأزرار الأساسية (px)', 'default' => '9999', 'hint' => '9999 = حبة (pill), 12 = مستطيل ناعم, 0 = حاد', 'type' => 'number'],
                ['key' => 'btn_secondary_radius', 'label' => 'انحناء الأزرار الثانوية (px)', 'default' => '9999', 'hint' => 'أزرار الإلغاء والخيارات', 'type' => 'number'],
                ['key' => 'btn_height', 'label' => 'ارتفاع الزر (px)', 'default' => '44', 'hint' => 'الحد الأدنى لارتفاع الزر — 44 للمس', 'type' => 'number'],
                ['key' => 'btn_font_weight', 'label' => 'ثقل خط الزر', 'default' => '700', 'hint' => '400=عادي, 600=سميك, 700=عريض, 800=أعرض', 'type' => 'number'],
                ['key' => 'btn_shadow', 'label' => 'ظل الزر الأساسي', 'default' => '0 4px 16px rgba(228,172,56,0.3)', 'hint' => 'CSS box-shadow كامل', 'type' => 'text'],
                ['key' => 'card_border_width', 'label' => 'سمك حدود البطاقة (px)', 'default' => '1', 'hint' => '0 = بلا حدود, 1 = ناعم, 2 = واضح', 'type' => 'number'],
                ['key' => 'input_radius', 'label' => 'انحناء حقول الإدخال (px)', 'default' => '12', 'hint' => 'حقول النص وكلمة المرور', 'type' => 'number'],
            ];
            foreach ($shapes as $s):
                $val = $theme[$s['key']] ?? $s['default'];
            ?>
            <div class="field">
                <label><?= $s['label'] ?></label>
                <input type="<?= $s['type'] ?>" name="theme[<?= $s['key'] ?>]" value="<?= $val ?>">
                <div class="hint"><?= $s['hint'] ?></div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <button type="submit">💾 حفظ كل التغييرات</button>
    </form>

    <!-- ASSET UPLOADS -->
    <h2>📦 الأصول البصرية</h2>
    <p style="color:#64748b;font-size:12px;margin-bottom:16px;">ارفع صور SVG أو PNG — ستظهر فوراً كافتراضي لكل اللاعبين</p>

    <div class="section">
        <div class="grid">
            <?php
            $assetSlots = [
                ['slot' => 'logo', 'label' => 'شعار المنصة', 'w' => 200, 'h' => 60, 'hint' => 'يظهر في الهيدر — يُفضل SVG شفاف'],
                ['slot' => 'logo_icon', 'label' => 'أيقونة الشعار (مربعة)', 'w' => 64, 'h' => 64, 'hint' => 'الأيقونة المختصرة للشعار'],
                ['slot' => 'splash_bg', 'label' => 'خلفية شاشة البداية', 'w' => 1080, 'h' => 1920, 'hint' => 'خلفية كاملة عند فتح التطبيق'],
                ['slot' => 'favicon', 'label' => 'Favicon', 'w' => 32, 'h' => 32, 'hint' => 'أيقونة تبويب المتصفح'],
                ['slot' => 'coin_icon', 'label' => 'أيقونة العملات (HUD)', 'w' => 24, 'h' => 24, 'hint' => 'تظهر بجانب رقم العملات في الأعلى'],
                ['slot' => 'gem_icon', 'label' => 'أيقونة الجواهر (HUD)', 'w' => 24, 'h' => 24, 'hint' => 'تظهر بجانب رقم الجواهر في الأعلى'],
                ['slot' => 'xp_icon', 'label' => 'أيقونة المستوى (HUD)', 'w' => 24, 'h' => 24, 'hint' => 'تظهر بجانب رقم المستوى'],
                ['slot' => 'chess_icon', 'label' => 'أيقونة الشطرنج', 'w' => 64, 'h' => 64, 'hint' => 'في مربع الشطرنج بالصفحة الرئيسية'],
                ['slot' => 'domino_icon', 'label' => 'أيقونة الدومينو', 'w' => 64, 'h' => 64, 'hint' => 'في مربع الدومينو بالصفحة الرئيسية'],
                ['slot' => 'ludo_icon', 'label' => 'أيقونة اللودو', 'w' => 64, 'h' => 64, 'hint' => 'في مربع اللودو بالصفحة الرئيسية'],
                ['slot' => 'backgammon_icon', 'label' => 'أيقونة الطاولة', 'w' => 64, 'h' => 64, 'hint' => 'في مربع الطاولة بالصفحة الرئيسية'],
                ['slot' => 'win_trophy', 'label' => 'كأس الفوز', 'w' => 128, 'h' => 128, 'hint' => 'شاشة نتيجة المباراة — فوز'],
                ['slot' => 'loss_icon', 'label' => 'أيقونة الخسارة', 'w' => 128, 'h' => 128, 'hint' => 'شاشة نتيجة المباراة — خسارة'],
                ['slot' => 'draw_icon', 'label' => 'أيقونة التعادل', 'w' => 128, 'h' => 128, 'hint' => 'شاشة نتيجة المباراة — تعادل'],
                ['slot' => 'daily_reward', 'label' => 'صندوق المكافأة اليومية', 'w' => 128, 'h' => 128, 'hint' => 'شاشة المكافأة اليومية'],
                ['slot' => 'rank_gold', 'label' => 'ميدالية ذهبية (#1)', 'w' => 32, 'h' => 32, 'hint' => 'بجانب المركز الأول في الترتيب'],
                ['slot' => 'rank_silver', 'label' => 'ميدالية فضية (#2)', 'w' => 32, 'h' => 32, 'hint' => 'بجانب المركز الثاني'],
                ['slot' => 'rank_bronze', 'label' => 'ميدالية برونزية (#3)', 'w' => 32, 'h' => 32, 'hint' => 'بجانب المركز الثالث'],
                ['slot' => 'default_avatar', 'label' => 'صورة افتراضية للاعب', 'w' => 128, 'h' => 128, 'hint' => 'تظهر إذا اللاعب ما رفع صورة'],
                ['slot' => 'notification_bell', 'label' => 'أيقونة الإشعارات', 'w' => 24, 'h' => 24, 'hint' => 'جرس الإشعارات في الهيدر'],
                ['slot' => 'tab_play', 'label' => 'أيقونة تبويب "العب"', 'w' => 24, 'h' => 24, 'hint' => 'شريط التنقل السفلي'],
                ['slot' => 'tab_rank', 'label' => 'أيقونة تبويب "الترتيب"', 'w' => 24, 'h' => 24, 'hint' => 'شريط التنقل السفلي'],
                ['slot' => 'tab_social', 'label' => 'أيقونة تبويب "الأصدقاء"', 'w' => 24, 'h' => 24, 'hint' => 'شريط التنقل السفلي'],
                ['slot' => 'tab_shop', 'label' => 'أيقونة تبويب "المتجر"', 'w' => 24, 'h' => 24, 'hint' => 'شريط التنقل السفلي'],
                ['slot' => 'tab_profile', 'label' => 'أيقونة تبويب "حسابي"', 'w' => 24, 'h' => 24, 'hint' => 'شريط التنقل السفلي'],
            ];
            foreach ($assetSlots as $a):
                $current = $theme['assets'][$a['slot']] ?? null;
                $displayW = min($a['w'], 80);
                $displayH = min($a['h'], 80);
            ?>
            <div class="field">
                <form method="POST" enctype="multipart/form-data">
                    <input type="hidden" name="slot" value="<?= $a['slot'] ?>">
                    <input type="hidden" name="expected_w" value="<?= $a['w'] ?>">
                    <input type="hidden" name="expected_h" value="<?= $a['h'] ?>">
                    <label><?= $a['label'] ?></label>
                    <div class="upload-box" onclick="this.querySelector('input[type=file]').click()">
                        <input type="file" name="asset" accept=".svg,.png,.jpg,.jpeg,.webp,.gif,.ico" style="display:none" onchange="this.form.submit()">
                        <?php if ($current): ?>
                        <div class="current"><img src="<?= $current ?>" style="width:<?= $displayW ?>px;height:<?= $displayH ?>px;object-fit:contain;image-rendering:auto;"></div>
                        <div style="font-size:10px;color:#64748b;margin-top:4px;">✓ مرفوع</div>
                        <?php else: ?>
                        📤 اضغط للرفع
                        <?php endif; ?>
                        <div class="size-hint"><?= $a['w'] ?>×<?= $a['h'] ?>px — <?= $a['hint'] ?></div>
                    </div>
                </form>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

</div>
</body>
</html>
