<?php
require_once __DIR__ . '/db.php';
require_login('media'); // Dostęp tylko dla osób z rangą media lub owner

$user = current_user();
$db = get_db();

$userIsMedia = is_media();
$userMediaCodes = get_user_media_codes($user['id']);

// Jeśli to właściciel i nie ma własnego kodu twórcy, pobieramy kody z bazy jako podgląd
if (empty($userMediaCodes) && is_owner()) {
    $stmtAllCodes = $db->query("SELECT * FROM media_codes ORDER BY id ASC");
    $userMediaCodes = $stmtAllCodes->fetchAll();
}

$primaryCode = !empty($userMediaCodes) ? $userMediaCodes[0] : null;

// Obliczenia statystyk twórcy
$myOrders = [];
$totalEarned = 0.00;
$pendingEarned = 0.00;
$totalGeneratedSales = 0.00;
$ordersCount = 0;

if ($primaryCode) {
    try {
        $codeNames = array_map(function($c) { return strtoupper($c['code']); }, $userMediaCodes);
        $inClause = implode(',', array_fill(0, count($codeNames), '?'));
        
        $stmtOrders = $db->prepare("
            SELECT * FROM orders 
            WHERE UPPER(promo_code) IN ($inClause)
            ORDER BY id DESC
        ");
        $stmtOrders->execute($codeNames);
        $myOrders = $stmtOrders->fetchAll();

        $ordersCount = count($myOrders);

        foreach ($myOrders as $ord) {
            if ($ord['status'] === 'Anulowane') continue;
            
            $orderTotal = (float)$ord['total_amount'];
            $commAmount = (float)($ord['commission_amount'] ?? 0);
            
            // Jeśli prowizja nie została zapisana w kolumnie, liczymy 10%
            if ($commAmount <= 0) {
                $commPercent = (float)($primaryCode['commission_percent'] ?? 10.00);
                $commAmount = round($orderTotal * ($commPercent / 100), 2);
            }

            $totalGeneratedSales += $orderTotal;

            if ($ord['is_paid']) {
                $totalEarned += $commAmount;
            } else {
                $pendingEarned += $commAmount;
            }
        }
    } catch (Throwable $e) {}
}
?>
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Panel Twórcy (Media) | HerbScripts</title>
    <link rel="stylesheet" href="style.css?v=<?= time() ?>">
    <style>
        .media-container {
            max-width: 1200px;
            margin: 30px auto;
            padding: 0 20px 60px;
        }
        .media-welcome-card {
            background: linear-gradient(135deg, rgba(236, 72, 153, 0.15), rgba(113, 39, 245, 0.18));
            border: 1px solid rgba(236, 72, 153, 0.4);
            border-radius: 16px;
            padding: 24px 28px;
            margin-bottom: 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 16px;
            backdrop-filter: blur(10px);
            box-shadow: 0 10px 30px rgba(236, 72, 153, 0.15);
        }
        .media-badge-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 12px;
            border-radius: 999px;
            font-size: 0.78rem;
            font-weight: 800;
            background: linear-gradient(135deg, #ec4899, #d946ef);
            color: #fff;
            box-shadow: 0 0 12px rgba(236, 72, 153, 0.4);
            margin-left: 8px;
        }
        .promo-highlight-card {
            background: #0d081f;
            border: 2px solid rgba(236, 72, 153, 0.5);
            border-radius: 14px;
            padding: 22px 24px;
            margin-bottom: 24px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
        }
        .promo-code-display {
            font-size: 2.2rem;
            font-weight: 900;
            letter-spacing: 2px;
            color: #f472b6;
            text-shadow: 0 0 16px rgba(236, 72, 153, 0.6);
            background: rgba(236, 72, 153, 0.1);
            padding: 8px 20px;
            border-radius: 10px;
            display: inline-block;
            border: 1px dashed rgba(236, 72, 153, 0.5);
        }
        .stats-grid-media {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-bottom: 28px;
        }
        .stat-box-media {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 20px;
            backdrop-filter: blur(10px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.3);
            border-top: 3px solid #ec4899;
        }
        .stat-box-media .val {
            font-size: 1.85rem;
            font-weight: 800;
            margin-bottom: 4px;
        }
        .stat-box-media .lbl {
            font-size: 0.78rem;
            color: var(--text-muted);
            text-transform: uppercase;
            font-weight: 600;
            letter-spacing: 0.5px;
        }
        .table-responsive {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: 12px;
            overflow-x: auto;
            backdrop-filter: blur(10px);
            box-shadow: 0 8px 30px rgba(0,0,0,0.35);
        }
        .custom-media-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.86rem;
            text-align: left;
        }
        .custom-media-table th {
            background: rgba(22, 15, 46, 0.95);
            color: var(--text-muted);
            padding: 14px 16px;
            font-weight: 600;
            border-bottom: 1px solid var(--border);
            white-space: nowrap;
        }
        .custom-media-table td {
            padding: 14px 16px;
            border-bottom: 1px solid var(--border);
            vertical-align: middle;
        }
        .custom-media-table tr:hover {
            background: rgba(236, 72, 153, 0.05);
        }
        .badge-status {
            padding: 4px 10px;
            border-radius: 6px;
            font-size: 0.75rem;
            font-weight: 700;
            display: inline-block;
        }
        .badge-paid { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
        .badge-unpaid { background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3); }

        .toast-copy {
            position: fixed;
            bottom: 24px;
            right: 24px;
            background: #10b981;
            color: #fff;
            padding: 12px 20px;
            border-radius: 8px;
            font-weight: 700;
            font-size: 0.9rem;
            box-shadow: 0 6px 20px rgba(0,0,0,0.4);
            display: none;
            z-index: 999999;
            animation: fadeInOut 2.5s ease-in-out;
        }

        /* Responsywność na urządzenia mobilne */
        @media (max-width: 900px) {
            .stats-grid-media {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 600px) {
            .media-container {
                padding: 0 12px 40px;
                margin: 15px auto;
            }
            .media-welcome-card {
                padding: 18px 16px;
                flex-direction: column;
                align-items: stretch;
            }
            .promo-highlight-card {
                padding: 16px;
            }
            .promo-code-display {
                font-size: 1.6rem;
                letter-spacing: 1px;
                padding: 6px 14px;
            }
            .stats-grid-media {
                grid-template-columns: 1fr;
                gap: 10px;
            }
            .custom-media-table {
                min-width: 620px;
            }
        }
        @media (max-width: 520px) {
            .nav-actions .nav-btn-text {
                display: none;
            }
        }
    </style>
</head>
<body>
    <header>
        <a href="index.html" class="logo">Herb<span>Scripts.</span> <small style="font-size:0.75rem; color:#f472b6;">MEDIA</small></a>
        <div class="nav-actions">
            <!-- Mała kompaktowa ikonka sklepu -->
            <a href="index.html#katalog" class="cart-icon-btn" title="Przejdź do oferty sklepu" aria-label="Sklep" style="display:inline-flex; align-items:center; justify-content:center; gap:7px; background:linear-gradient(135deg, #7127f5, #a855f7); color:#fff; border:1px solid rgba(168,85,247,0.4); border-radius:9px; padding:6px 12px; height:38px; cursor:pointer; text-decoration:none;">
                <span class="cart-icon-emoji" style="font-size:1.12rem; line-height:1;">🛒</span>
                <span class="cart-badge-pill" style="background:rgba(13,8,30,0.85); border:1px solid rgba(255,255,255,0.3); color:#fff; font-size:0.78rem; font-weight:800; padding:1px 6px; border-radius:999px; min-width:18px; text-align:center; line-height:1.3;">Sklep</span>
            </a>

            <!-- Trzy poziome kreski (hamburger menu) -->
            <button class="mobile-menu-btn" id="mobileMenuBtn" aria-label="Menu nawigacji" onclick="toggleMobileMenu()" title="Menu i panele" style="display:flex !important; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:38px; height:38px; background:rgba(168,85,247,0.18); border:1px solid rgba(168,85,247,0.4); border-radius:9px; cursor:pointer; padding:8px; flex-shrink:0;">
                <span style="display:block; width:20px; height:2px; background:#fff; border-radius:2px;"></span>
                <span style="display:block; width:20px; height:2px; background:#fff; border-radius:2px;"></span>
                <span style="display:block; width:20px; height:2px; background:#fff; border-radius:2px;"></span>
            </button>
        </div>
    </header>

    <!-- Wysuwane Menu Nawigacji (3 poziome kreski ☰) -->
    <div class="mobile-menu-overlay" id="mobileMenuOverlay" onclick="closeMobileMenu()"></div>
    <div class="mobile-menu" id="mobileMenu">
        <div class="mobile-menu-header">
            <a href="index.html" class="logo" onclick="closeMobileMenu()">Herb<span>Scripts.</span></a>
            <button class="btn-close" onclick="closeMobileMenu()">✕</button>
        </div>
        <ul class="mobile-menu-links">
            <li><a href="index.html">🛒 Sklep & Gotowe Produkty</a></li>
            <li><a href="index.html#custom">💬 Zamówienie Custom</a></li>
            <li><a href="index.html#opinie">⭐ Opinie Klientów</a></li>
            <li><a href="index.html#faq">❓ FAQ</a></li>
        </ul>
        <div class="mobile-menu-footer">
            <div style="font-size:0.75rem; text-transform:uppercase; color:var(--text-muted); font-weight:700; margin-bottom:8px; letter-spacing:0.5px;">
                👤 Twoje Panele & Konto
            </div>
            <a href="panel-media.php" class="btn btn-outline full-width" style="border-color: #ec4899; color: #f472b6; margin-bottom: 8px;">
                🎬 Panel Twórcy (Media) - Aktywny
            </a>
            <a href="panel-klienta.php" class="btn btn-outline full-width" style="border-color: #a855f7; color: #a855f7; margin-bottom: 8px;">
                👤 Panel Klienta
            </a>
            <?php if (is_owner()): ?>
                <a href="panel-wlasciciela.php" class="btn btn-outline full-width" style="border-color: #fbbf24; color: #fbbf24; margin-bottom: 8px;">
                    👑 Panel Właściciela
                </a>
            <?php endif; ?>
            <?php if (is_admin()): ?>
                <a href="panel-admina.php" class="btn btn-outline full-width" style="border-color: #34d399; color: #34d399; margin-bottom: 8px;">
                    🛡️ Panel Administratora
                </a>
            <?php endif; ?>
            <a href="logout.php" class="btn btn-outline full-width" style="border-color: #ef4444; color: #f87171;">
                🚪 Wyloguj się
            </a>
        </div>
    </div>

    <div class="media-container">
        <?php if (!$userIsMedia && empty($userMediaCodes)): ?>
            <!-- Komunikat dla użytkownika, który nie jest twórcą -->
            <div style="background:var(--card-bg); border:1px solid rgba(236,72,153,0.3); border-radius:16px; padding:40px 24px; text-align:center; max-width:600px; margin:40px auto; box-shadow:0 10px 30px rgba(0,0,0,0.4);">
                <div style="font-size:3.5rem; margin-bottom:14px;">🎬</div>
                <h2 style="color:#fff; margin-bottom:10px;">Program Twórców (Media)</h2>
                <p style="color:var(--text-muted); font-size:0.95rem; line-height:1.6; margin-bottom:24px;">
                    Twoje konto nie posiada jeszcze aktywnego kodu polecającego ani roli Twórcy Media.
                    <br>Skontaktuj się z Właścicielem sklepu HerbScripts na Discordzie, aby otrzymać unikalny kod partnerski (np. <strong>-5% zniżki dla Twoich widzów</strong> i <strong>10% zysku z każdego zamówienia dla Ciebie</strong>)!
                </p>
                <div style="display:flex; gap:10px; justify-content:center; flex-wrap:wrap;">
                    <a href="panel-klienta.php" class="btn btn-gradient">👤 Przejdź do Panelu Klienta</a>
                    <a href="index.html" class="btn btn-outline">🛒 Wróć do Sklepu</a>
                </div>
            </div>
        <?php else: ?>
            <!-- Nagłówek powitalny twórcy -->
            <div class="media-welcome-card">
                <div>
                    <h1 style="color:#fff; font-size:1.6rem; margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:8px;">
                        <span>Witaj, <?= htmlspecialchars($user['username']) ?>!</span>
                        <span class="media-badge-pill">🎬 Oficjalny Twórca Media</span>
                    </h1>
                    <p style="color:var(--text-muted); font-size:0.88rem; margin-top:6px; margin-bottom:0;">
                        Zalogowany twórca: <strong style="color:#fff;"><?= htmlspecialchars($user['email']) ?></strong>
                        <?php if (!empty($user['discord_tag'])): ?>
                            &bull; Discord: <strong style="color:var(--accent-cyan);"><?= htmlspecialchars($user['discord_tag']) ?></strong>
                        <?php endif; ?>
                    </p>
                </div>
                <div style="display:flex; gap:10px;">
                    <a href="panel-klienta.php" class="btn btn-outline btn-sm">👤 Twój profil klienta</a>
                    <a href="index.html" class="btn btn-gradient btn-sm">🛒 Przejdź do oferty sklepu</a>
                </div>
            </div>

            <!-- Główna karta z kodem twórcy -->
            <?php if ($primaryCode): ?>
                <div class="promo-highlight-card">
                    <div style="display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;">
                        <div>
                            <div style="font-size:0.82rem; color:var(--text-muted); text-transform:uppercase; font-weight:700; margin-bottom:6px;">
                                🏷️ Twój Kod Polecający (Promocyjny):
                            </div>
                            <div style="display:flex; align-items:center; gap:14px; flex-wrap:wrap;">
                                <div class="promo-code-display" id="myPromoCodeText"><?= htmlspecialchars($primaryCode['code']) ?></div>
                                <button type="button" class="btn btn-gradient" onclick="copyCreatorCode('<?= htmlspecialchars($primaryCode['code']) ?>')" style="padding:10px 18px; font-weight:800; font-size:0.95rem; background:linear-gradient(135deg, #ec4899, #a855f7);">
                                    📋 Kopiuj Kod
                                </button>
                            </div>
                        </div>

                        <div style="background:rgba(236,72,153,0.08); border:1px solid rgba(236,72,153,0.3); border-radius:10px; padding:12px 18px; max-width:440px;">
                            <div style="color:#f472b6; font-weight:800; font-size:0.92rem; margin-bottom:4px;">
                                ⚡ Warunki Twojego Programu Partnerskiego:
                            </div>
                            <ul style="margin:0; padding-left:18px; font-size:0.82rem; color:var(--text-muted); line-height:1.5;">
                                <li>Twój widz otrzymuje <strong><?= number_format((float)$primaryCode['discount_percent'], 1) ?>% zniżki</strong> w koszyku.</li>
                                <li>Ty zarabiasz <strong><?= number_format((float)$primaryCode['commission_percent'], 1) ?>% prowizji</strong> z każdego opłaconego zamówienia.</li>
                                <li>Prowizja nie pomniejsza kwoty klienta — Właściciel rozlicza się z Tobą bezpośrednio (np. BLIK / przelew).</li>
                            </ul>
                        </div>
                    </div>
                </div>
            <?php endif; ?>

            <!-- Statystyki Twórcy -->
            <div class="stats-grid-media">
                <div class="stat-box-media">
                    <div class="val" style="color:#34d399;"><?= number_format($totalEarned, 2) ?> PLN</div>
                    <div class="lbl">💰 Zarobione Prowizje (Opłacone)</div>
                </div>
                <div class="stat-box-media">
                    <div class="val" style="color:#fbbf24;"><?= number_format($pendingEarned, 2) ?> PLN</div>
                    <div class="lbl">⏳ Prowizje Oczekujące na Płatność</div>
                </div>
                <div class="stat-box-media">
                    <div class="val" style="color:var(--accent-cyan);"><?= $ordersCount ?></div>
                    <div class="lbl">🛒 Zamówienia z Twoim Kodem</div>
                </div>
                <div class="stat-box-media">
                    <div class="val" style="color:#f472b6;">10%</div>
                    <div class="lbl">🏷️ Twoja Prowizja z Zamówień</div>
                </div>
            </div>

            <!-- Pasek informacyjny o wypłatach -->
            <div style="background:rgba(16, 185, 129, 0.08); border:1px solid rgba(16, 185, 129, 0.25); border-radius:12px; padding:14px 18px; margin-bottom:24px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;">
                <span style="font-size:1.5rem;">💳</span>
                <div style="flex:1; min-width:260px;">
                    <strong style="color:#34d399; font-size:0.9rem;">Jak działa wypłata Twoich zarobków?</strong>
                    <p style="color:var(--text-muted); font-size:0.82rem; margin:2px 0 0; line-height:1.4;">
                        Wszystkie zamówienia z Twoim kodem są zapisywane w poniższej tabeli. Gdy klient opłaci zamówienie, Twoja 10% prowizja przechodzi do statusu <em>Zarobione (Opłacone)</em>. Właściciel sklepu rozlicza się z Tobą na bieżąco na uzgodniony numer telefonu BLIK lub rachunek bankowy.
                    </p>
                </div>
            </div>

            <!-- Tabela zamówień złożonych z kodem twórcy -->
            <div>
                <h3 style="color:#fff; font-size:1.15rem; margin-bottom:14px; display:flex; align-items:center; gap:8px;">
                    <span>📦 Historia Zamówień z Twoim Kodem (<?= count($myOrders) ?>)</span>
                </h3>

                <div class="table-responsive">
                    <table class="custom-media-table">
                        <thead>
                            <tr>
                                <th>Numer Zamówienia</th>
                                <th>Data</th>
                                <th>Zakupione Produkty</th>
                                <th>Rabat Widza (-5%)</th>
                                <th>Twoja Prowizja (+10%)</th>
                                <th>Status Płatności</th>
                                <th>Status Rozliczenia</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (empty($myOrders)): ?>
                                <tr>
                                    <td colspan="7" style="text-align:center; padding:36px; color:var(--text-muted);">
                                        Żadne zamówienie nie zostało jeszcze zrealizowane z Twoim kodem promocyjnym.
                                        <br>Udostępnij swój kod <strong><?= htmlspecialchars($primaryCode['code'] ?? '') ?></strong> swojej widowni, aby zacząć zarabiać!
                                    </td>
                                </tr>
                            <?php else: ?>
                                <?php foreach ($myOrders as $ord): 
                                    $items = json_decode($ord['items_json'], true) ?: [];
                                    $orderTotal = (float)$ord['total_amount'];
                                    $commVal = (float)($ord['commission_amount'] ?? 0);
                                    if ($commVal <= 0) {
                                        $commPercent = (float)($primaryCode['commission_percent'] ?? 10.00);
                                        $commVal = round($orderTotal * ($commPercent / 100), 2);
                                    }
                                ?>
                                    <tr>
                                        <td>
                                            <strong style="color:#fff;"><?= htmlspecialchars($ord['order_number']) ?></strong>
                                        </td>
                                        <td>
                                            <small style="color:var(--text-muted);"><?= date('d.m.Y H:i', strtotime($ord['created_at'])) ?></small>
                                        </td>
                                        <td>
                                            <?php if (empty($items)): ?>
                                                <span style="color:var(--text-muted);">Brak danych</span>
                                            <?php else: ?>
                                                <ul style="list-style:none; padding:0; margin:0; font-size:0.8rem;">
                                                    <?php foreach ($items as $it): ?>
                                                        <li>• <?= htmlspecialchars($it['title'] ?? 'Produkt') ?> (x<?= (int)($it['qty'] ?? 1) ?>)</li>
                                                    <?php endforeach; ?>
                                                </ul>
                                            <?php endif; ?>
                                        </td>
                                        <td>
                                            <span style="color:#34d399; font-weight:700;">-5% rabatu</span>
                                        </td>
                                        <td>
                                            <strong style="color:#34d399; font-size:1.1rem;">+<?= number_format($commVal, 2) ?> PLN</strong>
                                        </td>
                                        <td>
                                            <?php if ($ord['is_paid']): ?>
                                                <span class="badge-status badge-paid">✅ Opłacone</span>
                                            <?php else: ?>
                                                <span class="badge-status badge-unpaid">⏳ Czeka na wpłatę</span>
                                            <?php endif; ?>
                                        </td>
                                        <td>
                                            <?php if ($ord['status'] === 'Anulowane'): ?>
                                                <span style="color:#f87171; font-size:0.8rem;">Zamówienie anulowane</span>
                                            <?php elseif ($ord['is_paid']): ?>
                                                <span style="color:#34d399; font-weight:700; font-size:0.82rem;">✅ Należna do wypłaty</span>
                                            <?php else: ?>
                                                <span style="color:#fbbf24; font-size:0.82rem;">Oczekuje na płatność</span>
                                            <?php endif; ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php endif; ?>
    </div>

    <div id="copyToast" class="toast-copy">
        ✅ Skopiowano kod do schowka!
    </div>

    <script>
        function copyCreatorCode(code) {
            if (navigator.clipboard && window.isSecureContext) {
                navigator.clipboard.writeText(code).then(showCopyToast).catch(function() {
                    fallbackCopyText(code);
                });
            } else {
                fallbackCopyText(code);
            }
        }

        function fallbackCopyText(text) {
            var ta = document.createElement('textarea');
            ta.value = text;
            ta.style.position = 'fixed';
            ta.style.left = '-9999px';
            document.body.appendChild(ta);
            ta.select();
            try {
                document.execCommand('copy');
                showCopyToast();
            } catch (e) {}
            document.body.removeChild(ta);
        }

        function showCopyToast() {
            var t = document.getElementById('copyToast');
            if (t) {
                t.style.display = 'block';
                setTimeout(function() {
                    t.style.display = 'none';
                }, 2200);
            }
        }

        function toggleMobileMenu() {
            const menu = document.getElementById('mobileMenu');
            const overlay = document.getElementById('mobileMenuOverlay');
            const btn = document.getElementById('mobileMenuBtn');
            if (menu && overlay) {
                const isOpen = menu.classList.toggle('active');
                overlay.classList.toggle('active', isOpen);
                if (btn) btn.classList.toggle('active', isOpen);
                document.body.style.overflow = isOpen ? 'hidden' : '';
            }
        }
        function closeMobileMenu() {
            const menu = document.getElementById('mobileMenu');
            const overlay = document.getElementById('mobileMenuOverlay');
            const btn = document.getElementById('mobileMenuBtn');
            if (menu) menu.classList.remove('active');
            if (overlay) overlay.classList.remove('active');
            if (btn) btn.classList.remove('active');
            document.body.style.overflow = '';
        }
    </script>
</body>
</html>

