<?php
require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/functions.php';

$error = '';
$success = '';
if (isset($_GET['msg']) && $_GET['msg'] !== '') $success = trim((string)$_GET['msg']);

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['request_id'], $_POST['action'])) {
    $res = infl_update_payout_request_status((int)$_POST['request_id'], (string)$_POST['action'], trim((string)($_POST['admin_note'] ?? '')));
    if ($res['success']) {
        infl_redirect('payout_requests.php?msg=' . urlencode($res['message']));
    }
    $error = $res['message'];
}

$issues = array_merge(infl_schema_issues(), infl_payout_tables_ready() ? [] : ['جدول طلبات السحب غير موجود.']);
$page = max(1, (int)($_GET['page'] ?? 1));
$data = infl_get_payout_requests($_GET, $page, 20);
$rows = $data['rows'];
$filters = $data['filters'];
$stats = infl_get_payout_request_stats();
$selected = isset($_GET['request_id']) ? infl_find_payout_request((int)$_GET['request_id']) : null;

$page_title = 'طلبات سحب المؤثرين';
require_once __DIR__ . '/../includes/header.php';
require_once __DIR__ . '/../includes/sidebar.php';
?>
<div class="ns-page">
    <div class="ns-hero">
        <div class="ns-hero-title">
            <h1>طلبات سحب المؤثرين</h1>
            <p>مراجعة طلبات الدفعات، اعتمادها أو رفضها، وعند تأشيرها مدفوعة يتم إنشاء سجل دفعة حقيقي تلقائياً داخل دفعات المؤثرين.</p>
        </div>
        <div class="ns-hero-actions">
            <a href="payments.php" class="ns-btn ns-btn-light"><i class="fa-solid fa-money-bill-wave"></i> دفعات المؤثرين</a>
            <a href="index.php" class="ns-btn ns-btn-dark"><i class="fa-solid fa-arrow-right"></i> رجوع</a>
        </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; ?>

    <div class="ns-stats-grid">
        <div class="ns-stat-card"><div class="ns-stat-label">معلقة</div><div class="ns-stat-value"><?= number_format((int)$stats['pending_count']) ?></div><div class="ns-stat-note"><?= infl_money($stats['pending_amount']) ?></div></div>
        <div class="ns-stat-card"><div class="ns-stat-label">معتمدة</div><div class="ns-stat-value"><?= number_format((int)$stats['approved_count']) ?></div><div class="ns-stat-note"><?= infl_money($stats['approved_amount']) ?></div></div>
        <div class="ns-stat-card"><div class="ns-stat-label">مدفوعة</div><div class="ns-stat-value"><?= number_format((int)$stats['paid_count']) ?></div><div class="ns-stat-note"><?= infl_money($stats['paid_amount']) ?></div></div>
        <div class="ns-stat-card"><div class="ns-stat-label">مرفوضة</div><div class="ns-stat-value"><?= number_format((int)$stats['rejected_count']) ?></div><div class="ns-stat-note">طلبات غير معتمدة</div></div>
    </div>

    <div class="ns-panel" style="margin-bottom:18px;">
        <div class="ns-panel-body">
            <form method="get" class="ns-form-grid" style="align-items:end;">
                <div class="ns-form-group">
                    <label>بحث</label>
                    <input type="text" name="q" value="<?= infl_h($filters['q'] ?? '') ?>" placeholder="اسم المؤثر / الهاتف / كود الدخول">
                </div>
                <div class="ns-form-group">
                    <label>الحالة</label>
                    <select name="status">
                        <option value="">الكل</option>
                        <?php foreach (['pending' => 'معلّق', 'approved' => 'معتمد', 'paid' => 'مدفوع', 'rejected' => 'مرفوض'] as $key => $label): ?>
                            <option value="<?= $key ?>" <?= (($filters['status'] ?? '') === $key ? 'selected' : '') ?>><?= $label ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div style="display:flex;gap:10px;flex-wrap:wrap;">
                    <button type="submit" class="ns-btn ns-btn-primary">تصفية</button>
                    <a href="payout_requests.php" class="ns-btn ns-btn-light">إعادة ضبط</a>
                </div>
            </form>
        </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">
                <?php if ($rows): ?>
                    <div class="ns-table-wrap">
                        <table class="ns-table" style="min-width:980px;">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>المؤثر</th>
                                    <th>الهاتف</th>
                                    <th>المبلغ</th>
                                    <th>الحالة</th>
                                    <th>التاريخ</th>
                                    <th>الإجراء</th>
                                </tr>
                            </thead>
                            <tbody>
                            <?php foreach ($rows as $row): ?>
                                <tr>
                                    <td><?= (int)$row['id'] ?></td>
                                    <td style="text-align:right;"><?= infl_h($row['influencer_name']) ?></td>
                                    <td><?= infl_h($row['influencer_phone'] ?: '-') ?></td>
                                    <td><?= infl_money($row['requested_amount']) ?></td>
                                    <td>
                                        <?php
                                            $status = (string)$row['status'];
                                            echo $status === 'pending' ? '<span class="ns-chip warn">معلّق</span>' : ($status === 'approved' ? '<span class="ns-chip info">معتمد</span>' : ($status === 'paid' ? '<span class="ns-chip success">مدفوع</span>' : '<span class="ns-chip danger">مرفوض</span>'));
                                        ?>
                                    </td>
                                    <td><?= infl_h($row['requested_at']) ?></td>
                                    <td><a class="ns-btn-sm ns-btn-view" href="payout_requests.php?request_id=<?= (int)$row['id'] ?>">فتح</a></td>
                                </tr>
                            <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                <?php else: ?>
                    <div class="ns-empty">ماكو طلبات سحب حالياً.</div>
                <?php endif; ?>
            </div>
        </div>

        <div class="ns-panel">
            <div class="ns-panel-head"><div><h2>معالجة الطلب</h2><p><?= $selected ? 'اعتمد أو ارفض أو أشره مدفوع.' : 'افتح أي طلب من الجدول حتى تظهر تفاصيله.' ?></p></div></div>
            <div class="ns-panel-body">
                <?php if ($selected): 
                    $balance = infl_get_balance_summary((int)$selected['influencer_id']);
                ?>
                    <div class="ns-list" style="margin-bottom:14px;display:grid;gap:10px;">
                        <div class="ns-list-item"><span>المؤثر</span><strong><?= infl_h($selected['influencer_name']) ?></strong></div>
                        <div class="ns-list-item"><span>الهاتف</span><strong><?= infl_h($selected['influencer_phone'] ?: '-') ?></strong></div>
                        <div class="ns-list-item"><span>مبلغ الطلب</span><strong><?= infl_money($selected['requested_amount']) ?></strong></div>
                        <div class="ns-list-item"><span>الرصيد المتبقي حالياً</span><strong><?= infl_money($balance['remaining_commission'] ?? 0) ?></strong></div>
                        <div class="ns-list-item"><span>المتاح لطلبات جديدة</span><strong><?= infl_money($balance['available_to_request'] ?? 0) ?></strong></div>
                        <div class="ns-list-item"><span>ملاحظة المؤثر</span><strong><?= infl_h($selected['request_note'] ?: '-') ?></strong></div>
                    </div>
                    <form method="post" class="ns-form-grid">
                        <input type="hidden" name="request_id" value="<?= (int)$selected['id'] ?>">
                        <div class="ns-form-group" style="grid-column:1/-1;">
                            <label>ملاحظة الأدمن</label>
                            <textarea name="admin_note" rows="5" placeholder="سبب الرفض أو ملاحظة الدفع أو أي توضيح داخلي..."><?= infl_h((string)($selected['admin_note'] ?? '')) ?></textarea>
                        </div>
                        <div style="grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;">
                            <?php if ((string)$selected['status'] !== 'approved' && (string)$selected['status'] !== 'paid'): ?>
                                <button type="submit" name="action" value="approved" class="ns-btn ns-btn-primary">اعتماد</button>
                            <?php endif; ?>
                            <?php if ((string)$selected['status'] !== 'paid'): ?>
                                <button type="submit" name="action" value="paid" class="ns-btn ns-btn-dark">تأشير مدفوع</button>
                            <?php endif; ?>
                            <?php if ((string)$selected['status'] !== 'rejected' && (string)$selected['status'] !== 'paid'): ?>
                                <button type="submit" name="action" value="rejected" class="ns-btn ns-btn-danger">رفض</button>
                            <?php endif; ?>
                        </div>
                    </form>
                <?php else: ?>
                    <div class="ns-empty">اختَر طلباً من الجدول حتى تظهر تفاصيله هنا.</div>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>
<?php require_once __DIR__ . '/../includes/footer.php'; ?>
