@extends('layouts.admin', ['title' => 'لوحة التحكم'])

@php
    $summary = $data['summary'];
    $profit = $data['profitSnapshot'];
    $fmt = fn ($minor) => number_format(($minor ?? 0) / 100, 2).' ج.م';
    $periodLabel = [
        'today' => 'مقارنة اليوم',
        'week' => 'مقارنة الأسبوع',
        'month' => 'مقارنة الشهر',
        'year' => 'مقارنة السنة',
        'custom' => 'الفترة المحددة',
    ][$period] ?? 'الفترة الحالية';
    $statusLabel = fn ($status) => [
        'pending' => 'معلق',
        'paid' => 'مدفوع',
        'failed' => 'فاشل',
        'refunded' => 'مسترد',
        'processing' => 'قيد التنفيذ',
        'completed' => 'مكتمل',
        'claimed' => 'مستلم',
        'info_requested' => 'مطلوب بيانات',
    ][$status] ?? $status;
    $statusCounts = $data['recentOrders']->groupBy('fulfillment_status')->map->count();
    $kpis = [
        [
            'title' => 'الإيرادات',
            'value' => $fmt($summary['revenue']),
            'meta' => $summary['paidOrders'] > 0 ? '+'.$summary['paidOrders'].' طلب مدفوع' : 'لا توجد مبيعات مدفوعة',
            'period' => $periodLabel,
            'icon' => 'M4 7h16v10H4V7Zm0 4h16M8 15h3m5 0h.01',
        ],
        [
            'title' => 'الطلبات المدفوعة',
            'value' => number_format($summary['paidOrders']),
            'meta' => 'متوسط الطلب '.$fmt($summary['aov']),
            'period' => $periodLabel,
            'icon' => 'M7 4h10l2 4v12H5V8l2-4Zm0 4h10M9 12h6M9 16h4',
        ],
        [
            'title' => 'العملاء الجدد',
            'value' => number_format($summary['newUsers']),
            'meta' => number_format($summary['returningUsers']).' عميل عائد',
            'period' => $periodLabel,
            'icon' => 'M16 11a4 4 0 1 0-8 0m8 0a4 4 0 1 1-8 0M4 21a8 8 0 0 1 16 0',
        ],
        [
            'title' => 'معدل التحويل',
            'value' => $summary['conversionRate'].'%',
            'meta' => number_format($summary['addToCart']).' إضافة للسلة',
            'period' => $periodLabel,
            'icon' => 'M5 19V5m0 14h14M9 16V9m4 7V7m4 9v-4',
        ],
    ];
@endphp

@section('content')
    <section class="ad-dashboard" aria-labelledby="admin-dashboard-title">
        <div class="ad-page-head">
            <div>
                <p>نظرة عامة</p>
                <h1 id="admin-dashboard-title">لوحة التحكم</h1>
                <span>{{ $from->format('Y-m-d') }} — {{ $to->format('Y-m-d') }}</span>
            </div>

            <details class="ad-export-menu">
                <summary>
                    <svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 19h14" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
                    تصدير البيانات
                </summary>
                <div>
                    <a href="{{ route('admin.exports.orders') }}">تصدير الطلبات</a>
                    <a href="{{ route('admin.exports.customers') }}">تصدير العملاء</a>
                    <a href="{{ route('admin.exports.products') }}">تصدير المنتجات</a>
                    <a href="{{ route('admin.exports.manual-payments') }}">تصدير الدفع اليدوي</a>
                    <a href="{{ route('admin.exports.provider-logs') }}">تصدير لوجات المزود</a>
                </div>
            </details>
        </div>

        <div class="ad-kpi-row">
            @foreach($kpis as $kpi)
                <article class="ad-kpi-card">
                    <header>
                        <span class="ad-kpi-icon">
                            <svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="{{ $kpi['icon'] }}" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
                        </span>
                        <p>{{ $kpi['title'] }}</p>
                    </header>
                    <strong>{{ $kpi['value'] }}</strong>
                    <footer>
                        <span>{{ $kpi['meta'] }}</span>
                        <em>{{ $kpi['period'] }}</em>
                    </footer>
                </article>
            @endforeach
        </div>

        <div class="ad-chart-layout">
            <section class="ad-card ad-chart-card" aria-labelledby="revenue-chart-title">
                <header class="ad-card-head">
                    <div>
                        <h2 id="revenue-chart-title">الإيرادات والطلبات</h2>
                        <p>تطور المبيعات حسب الفترة المحددة.</p>
                    </div>
                </header>

                <div class="ad-segmented" aria-label="فلترة الفترة">
                    @foreach(['today' => 'اليوم', 'week' => 'الأسبوع', 'month' => 'الشهر', 'year' => 'السنة'] as $key => $label)
                        <a href="{{ route('admin.dashboard', ['period' => $key]) }}" @class(['active' => $period === $key])>{{ $label }}</a>
                    @endforeach
                    <form method="GET" class="ad-date-range">
                        <input type="hidden" name="period" value="custom">
                        <input type="date" name="from" value="{{ $from->toDateString() }}" aria-label="من تاريخ">
                        <input type="date" name="to" value="{{ $to->toDateString() }}" aria-label="إلى تاريخ">
                        <button type="submit">تطبيق</button>
                    </form>
                </div>

                <script type="application/json" data-admin-chart-source="sales">@json($data['charts']['sales'])</script>
                <div class="ad-chart-skeleton" data-admin-chart="sales" data-chart-type="area" data-chart-height="300">جار تحميل الرسم البياني...</div>
            </section>

            <aside class="ad-card" aria-labelledby="order-status-title">
                <header class="ad-card-head">
                    <div>
                        <h2 id="order-status-title">إحصائيات الطلبات</h2>
                        <p>حالة آخر الطلبات ومؤشرات التشغيل.</p>
                    </div>
                </header>
                <div class="ad-status-list">
                    <a href="{{ route('admin.orders.index', ['payment_status' => 'paid']) }}">
                        <span>مدفوعة</span>
                        <strong>{{ number_format($summary['paidOrders']) }}</strong>
                    </a>
                    <a href="{{ route('admin.orders.index', ['payment_status' => 'pending']) }}">
                        <span>معلقة</span>
                        <strong>{{ number_format($summary['pendingOrders']) }}</strong>
                    </a>
                    <a href="{{ route('admin.finance.index') }}">
                        <span>مدفوعات فاشلة</span>
                        <strong>{{ number_format($summary['failedPayments']) }}</strong>
                    </a>
                    <a href="{{ route('admin.fulfillment.index', ['status' => 'completed']) }}">
                        <span>تنفيذ مكتمل</span>
                        <strong>{{ number_format($statusCounts->get('completed', 0)) }}</strong>
                    </a>
                </div>
            </aside>
        </div>

        <section class="ad-card" aria-labelledby="recent-orders-title">
            <header class="ad-card-head">
                <div>
                    <h2 id="recent-orders-title">آخر الطلبات</h2>
                    <p>آخر العمليات التي تحتاج متابعة أو مراجعة.</p>
                </div>
                <a class="ad-btn ghost" href="{{ route('admin.orders.index') }}">عرض الكل</a>
            </header>

            <div class="ad-table-wrap">
                <table class="ad-table">
                    <thead>
                        <tr>
                            <th>رقم الطلب</th>
                            <th>العميل</th>
                            <th>القيمة</th>
                            <th>الدفع</th>
                            <th>التنفيذ</th>
                            <th>التاريخ</th>
                        </tr>
                    </thead>
                    <tbody>
                        @forelse($data['recentOrders'] as $order)
                            <tr>
                                <td><a href="{{ route('admin.orders.show', $order) }}">{{ $order->order_number }}</a></td>
                                <td>
                                    <strong>{{ $order->customer_name }}</strong>
                                    <span>{{ $order->customer_email ?: 'بدون بريد' }}</span>
                                </td>
                                <td class="ad-num">{{ $fmt($order->total_minor) }}</td>
                                <td><span class="ad-badge {{ $order->payment_status === 'paid' ? 'green' : ($order->payment_status === 'failed' ? 'red' : 'amber') }}">{{ $statusLabel($order->payment_status) }}</span></td>
                                <td><span class="ad-badge {{ $order->fulfillment_status === 'completed' ? 'green' : ($order->fulfillment_status === 'failed' ? 'red' : 'blue') }}">{{ $statusLabel($order->fulfillment_status) }}</span></td>
                                <td>{{ $order->created_at->format('Y-m-d H:i') }}</td>
                            </tr>
                        @empty
                            <tr>
                                <td colspan="6">
                                    <div class="ad-empty-state">
                                        <strong>لا توجد طلبات بعد</strong>
                                        <span>عند إنشاء أول طلب سيظهر هنا فورًا.</span>
                                    </div>
                                </td>
                            </tr>
                        @endforelse
                    </tbody>
                </table>
            </div>
        </section>

        <div class="ad-widget-grid">
            <section class="ad-card ad-widget" aria-labelledby="customers-widget-title">
                <header class="ad-card-head">
                    <div>
                        <h2 id="customers-widget-title">العملاء</h2>
                        <p>نمو وولاء العملاء.</p>
                    </div>
                    <a class="ad-btn ghost" href="{{ route('admin.customers.index') }}">فتح</a>
                </header>
                <div class="ad-widget-metrics">
                    <div><span>جدد</span><strong>{{ number_format($summary['newUsers']) }}</strong></div>
                    <div><span>عائدون</span><strong>{{ number_format($summary['returningUsers']) }}</strong></div>
                </div>
                <script type="application/json" data-admin-chart-source="growth">@json($data['charts']['growth'])</script>
                <div class="ad-mini-chart" data-admin-chart="growth" data-chart-height="160"></div>
            </section>

            <section class="ad-card ad-widget" aria-labelledby="support-widget-title">
                <header class="ad-card-head">
                    <div>
                        <h2 id="support-widget-title">الدعم</h2>
                        <p>تذاكر تحتاج رد سريع.</p>
                    </div>
                    <a class="ad-btn ghost" href="{{ route('admin.support-tickets.index') }}">فتح</a>
                </header>
                <div class="ad-list-compact">
                    @forelse($data['openTickets']->take(4) as $ticket)
                        <a href="{{ route('admin.support-tickets.show', $ticket) }}">
                            <span>{{ $ticket->subject }}</span>
                            <em>{{ $ticket->created_at->diffForHumans() }}</em>
                        </a>
                    @empty
                        <div class="ad-empty-state compact"><strong>لا توجد تذاكر مفتوحة</strong><span>الدعم هادي حاليًا.</span></div>
                    @endforelse
                </div>
            </section>

            <section class="ad-card ad-widget" aria-labelledby="wallet-widget-title">
                <header class="ad-card-head">
                    <div>
                        <h2 id="wallet-widget-title">المحافظ</h2>
                        <p>شحن وتحركات الرصيد.</p>
                    </div>
                    <a class="ad-btn ghost" href="{{ route('admin.finance.index') }}">فتح</a>
                </header>
                <div class="ad-wallet-total">
                    <span>شحن محافظ</span>
                    <strong class="ad-num">{{ $fmt($summary['walletTopups']) }}</strong>
                    <em>ربح إجمالي: {{ $fmt($profit['profit']) }}</em>
                </div>
                <div class="ad-list-compact">
                    @forelse($data['pendingManualPayments']->take(3) as $payment)
                        <a href="{{ route('admin.manual-payments.submissions') }}">
                            <span>{{ $payment->payer_name }}</span>
                            <em>{{ $fmt($payment->amount_minor) }}</em>
                        </a>
                    @empty
                        <div class="ad-empty-state compact"><strong>لا توجد مراجعات دفع</strong><span>كل المدفوعات اليدوية مستقرة.</span></div>
                    @endforelse
                </div>
            </section>
        </div>
    </section>
@endsection
