<?php
require_once __DIR__ . '/../includes/config.php';
if (file_exists(__DIR__ . '/../includes/auth.php')) require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/functions.php';

$id = (int)($_GET['id'] ?? 0);
$issues = infl_schema_issues();
$error = '';
$success = trim((string)($_GET['msg'] ?? ''));
$record = null;

if (!$issues && $id > 0) {
    $record = infl_find_influencer($id);
    if (!$record) {
        $error = 'المؤثر غير موجود.';
        $id = 0;
    }
}

if (!$issues && $id > 0 && isset($_GET['delete_payment'])) {
    $del = infl_delete_payment((int)$_GET['delete_payment']);
    infl_redirect('payments.php?id=' . $id . '&msg=' . urlencode($del['message']));
}

if (!$issues && $id > 0 && $_SERVER['REQUEST_METHOD'] === 'POST') {
    $res = infl_save_payment($id, $_POST);
    if ($res['success']) infl_redirect('payments.php?id=' . $id . '&msg=' . urlencode($res['message']));
    $error = $res['message'];
}

$stats = !$issues ? infl_get_stats() : ['total'=>0,'active'=>0,'pending'=>0,'inactive'=>0,'delivered_orders'=>0,'earned'=>0,'paid'=>0,'remaining'=>0];
$listRows = [];
if (!$issues && $id === 0) {
    $listData = infl_get_influencers([], 1, 200);
    $listRows = $listData['rows'] ?? [];
}
$oneStats = (!$issues && $id > 0) ? infl_get_order_stats_for_one($id) : ['earned_commission'=>0,'paid_commission'=>0,'remaining_commission'=>0,'delivered_orders'=>0,'total_orders'=>0];
$payments = (!$issues && $id > 0) ? infl_get_payments($id, 100) : [];

$page_title = 'دفعات المؤثرين';
include __DIR__ . '/../includes/header.php';
include __DIR__ . '/../includes/sidebar.php';
?>
<div class="ns-page">
    <div class="ns-hero">
        <div class="ns-hero-title">
            <h1><?= $id > 0 && $record ? 'دفعات المؤثر: ' . infl_h($record['name']) : 'دفعات المؤثرين' ?></h1>
            <p><?= $id > 0 && $record ? 'إدارة دفعات هذا المؤثر مع احتساب العمولة من الطلبات المسلّمة فقط، ومتابعة المدفوع والمتبقي.' : 'صفحة مجمعة لمتابعة مستحقات المؤثرين، الوصول السريع للتفاصيل، وتسجيل الدفعات بدون الحاجة لفتح كل مؤثر بشكل يدوي.' ?></p>
        </div>
        <div class="ns-hero-actions">
            <?php if ($id > 0 && $record): ?>
                <a href="view.php?id=<?= $id ?>" class="ns-btn ns-btn-primary"><i class="fa-solid fa-user"></i> عرض المؤثر</a>
                <a href="payments.php" class="ns-btn ns-btn-dark"><i class="fa-solid fa-list"></i> كل الدفعات</a>
            <?php else: ?>
                <a href="list.php" class="ns-btn ns-btn-primary"><i class="fa-solid fa-users"></i> قائمة المؤثرين</a>
                <a href="create.php" class="ns-btn ns-btn-dark"><i class="fa-solid fa-user-plus"></i> إضافة مؤثر</a>
            <?php endif; ?>
        </div>
    </div>

    <?php if ($success !== ''): ?>
        <div class="ns-alert ns-alert-success"><?= infl_h($success) ?></div>
    <?php endif; ?>
    <?php if ($error !== ''): ?>
        <div class="ns-alert ns-alert-error"><?= infl_h($error) ?></div>
    <?php endif; ?>
    <?php if ($issues): ?>
        <div class="ns-alert ns-alert-warn"><strong style="display:block;margin-bottom:8px;">أكو حقول/جداول ناقصة</strong><ul style="margin:0;padding-right:18px;line-height:1.9;"><?php foreach ($issues as $issue): ?><li><?= infl_h($issue) ?></li><?php endforeach; ?></ul></div>
    <?php endif; ?>

    <?php if ($id === 0): ?>
        <div class="ns-stats-grid">
            <div class="ns-stat-card"><div class="ns-stat-label">إجمالي المؤثرين</div><div class="ns-stat-value"><?= number_format($stats['total']) ?></div><div class="ns-stat-note">كل الحسابات المضافة</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">طلبات مسلّمة</div><div class="ns-stat-value"><?= number_format($stats['delivered_orders']) ?></div><div class="ns-stat-note">المحتسبة للعمولة</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">إجمالي المستحق</div><div class="ns-stat-value"><?= infl_money($stats['earned']) ?></div><div class="ns-stat-note">عمولة كل المؤثرين</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">إجمالي المدفوع</div><div class="ns-stat-value"><?= infl_money($stats['paid']) ?></div><div class="ns-stat-note">الدفعات المسجلة</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">إجمالي المتبقي</div><div class="ns-stat-value"><?= infl_money($stats['remaining']) ?></div><div class="ns-stat-note">رصيد غير مدفوع</div></div>
        </div>

        <div class="ns-panel">
            <div class="ns-panel-head"><div><h2>ملخص دفعات المؤثرين</h2><p>اختَر أي مؤثر حتى تفتح صفحة الدفعات الخاصة به.</p></div></div>
            <div class="ns-panel-body">
                <?php if (!$issues && $listRows): ?>
                    <div class="ns-table-wrap">
                        <table class="ns-table">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>المؤثر</th>
                                    <th>كود الدخول</th>
                                    <th>كود الخصم</th>
                                    <th>الطلبات المسلّمة</th>
                                    <th>المستحق</th>
                                    <th>المدفوع</th>
                                    <th>المتبقي</th>
                                    <th>الإجراء</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($listRows as $row): ?>
                                    <tr>
                                        <td><?= (int)$row['id'] ?></td>
                                        <td style="text-align:right;"><?= infl_h($row['name']) ?></td>
                                        <td><?= infl_h($row['login_code']) ?></td>
                                        <td><?= infl_h($row['promo_code'] ?: '-') ?></td>
                                        <td><?= number_format((int)($row['delivered_orders'] ?? 0)) ?></td>
                                        <td><?= infl_money((float)($row['earned_commission'] ?? 0)) ?></td>
                                        <td><?= infl_money((float)($row['paid_commission'] ?? 0)) ?></td>
                                        <td><span class="ns-chip <?= ((float)($row['remaining_commission'] ?? 0) > 0 ? 'warn' : 'success') ?>"><?= infl_money((float)($row['remaining_commission'] ?? 0)) ?></span></td>
                                        <td>
                                            <div class="ns-actions">
                                                <a class="ns-btn-sm ns-btn-view" href="payments.php?id=<?= (int)$row['id'] ?>">الدفعات</a>
                                                <a class="ns-btn-sm ns-btn-edit" href="view.php?id=<?= (int)$row['id'] ?>">التفاصيل</a>
                                            </div>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                <?php else: ?>
                    <div class="ns-empty">ماكو بيانات جاهزة للعرض حالياً.</div>
                <?php endif; ?>
            </div>
        </div>
    <?php else: ?>
        <div class="ns-stats-grid">
            <div class="ns-stat-card"><div class="ns-stat-label">إجمالي المستحق</div><div class="ns-stat-value"><?= infl_money($oneStats['earned_commission']) ?></div><div class="ns-stat-note">من الطلبات المسلّمة فقط</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">المدفوع</div><div class="ns-stat-value"><?= infl_money($oneStats['paid_commission']) ?></div><div class="ns-stat-note">كل الدفعات المسجلة</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">المتبقي</div><div class="ns-stat-value"><?= infl_money($oneStats['remaining_commission']) ?></div><div class="ns-stat-note">الرصيد الحالي</div></div>
            <div class="ns-stat-card"><div class="ns-stat-label">الطلبات المسلّمة</div><div class="ns-stat-value"><?= number_format((int)$oneStats['delivered_orders']) ?></div><div class="ns-stat-note">الطلبات المحتسبة</div></div>
        </div>

        <div class="ns-grid-2 equal">
            <div class="ns-panel">
                <div class="ns-panel-head"><div><h2>إضافة دفعة</h2><p>تسجيل دفعة جديدة لهذا المؤثر.</p></div></div>
                <div class="ns-panel-body">
                    <form method="post" class="ns-form-grid">
                        <div class="ns-form-group">
                            <label>المبلغ</label>
                            <input type="number" step="0.01" name="amount" required>
                        </div>
                        <div class="ns-form-group">
                            <label>تاريخ الدفع</label>
                            <input type="date" name="pay_date" value="<?= date('Y-m-d') ?>" required>
                        </div>
                        <div class="ns-form-group" style="grid-column:1/-1;">
                            <label>ملاحظة</label>
                            <textarea name="note" rows="4"></textarea>
                        </div>
                        <div style="grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;">
                            <button type="submit" class="ns-btn ns-btn-primary">حفظ الدفعة</button>
                            <a href="payments.php" class="ns-btn ns-btn-light">رجوع</a>
                        </div>
                    </form>
                </div>
            </div>
            <div class="ns-panel">
                <div class="ns-panel-head"><div><h2>سجل الدفعات</h2><p>آخر الدفعات المسجلة لهذا المؤثر.</p></div></div>
                <div class="ns-panel-body">
                    <?php if ($payments): ?>
                        <div class="ns-table-wrap">
                            <table class="ns-table" style="min-width:620px;">
                                <thead><tr><th>التاريخ</th><th>المبلغ</th><th>ملاحظة</th><th>الإجراء</th></tr></thead>
                                <tbody>
                                    <?php foreach ($payments as $payment): ?>
                                        <tr>
                                            <td><?= infl_h($payment['pay_date']) ?></td>
                                            <td><?= infl_money($payment['amount']) ?></td>
                                            <td style="text-align:right;"><?= infl_h($payment['note'] ?: '-') ?></td>
                                            <td><a class="ns-btn-sm ns-btn-delete" href="payments.php?id=<?= $id ?>&delete_payment=<?= (int)$payment['id'] ?>" onclick="return confirm('حذف هذه الدفعة؟');">حذف</a></td>
                                        </tr>
                                    <?php endforeach; ?>
                                </tbody>
                            </table>
                        </div>
                    <?php else: ?>
                        <div class="ns-empty">لا توجد دفعات بعد لهذا المؤثر.</div>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    <?php endif; ?>
</div>
<?php include __DIR__ . '/../includes/footer.php'; ?>
