@props(['panel']) @php $variant = $panel['variant'] ?? 'full'; $metrics = $panel['metrics'] ?? []; $currency = $panel['currency'] ?? 'SAR'; $links = $panel['links'] ?? []; $uid = 'storeMetrics'.substr(md5(json_encode($panel)), 0, 8); $storefrontLabel = $panel['storefront_label'] ?? 'المتجر الإلكتروني'; $ordersLabel = $panel['orders_label'] ?? 'الطلبات'; $pendingLabel = $panel['metrics_pending_label'] ?? 'بانتظار التحصيل'; $fmt = fn (float|int|string|null $n): string => number_format((float) ($n ?? 0), 2, '.', ','); @endphp @if($variant === 'compact')

Online Store

{{ $storefrontLabel }}

@if(! empty($links['orders'])) {{ $ordersLabel }} @endif @if(! empty($links['settings'])) إعدادات المتجر @endif

مبيعات اليوم

{{ $currency }} {{ $fmt($metrics['sales_today'] ?? 0) }}

طلبات اليوم

{{ (int) ($metrics['orders_today'] ?? 0) }}

إيراد الشهر

{{ $currency }} {{ $fmt($metrics['revenue_month'] ?? 0) }}

{{ $pendingLabel }}

{{ (int) ($metrics['pending_collection'] ?? 0) }}

@elseif($variant === 'embedded')
مبيعات اليوم
{{ $currency }} {{ $fmt($metrics['sales_today'] ?? 0) }}
طلبات اليوم
{{ (int) ($metrics['orders_today'] ?? 0) }}
إيراد الشهر
{{ $currency }} {{ $fmt($metrics['revenue_month'] ?? 0) }}
{{ $pendingLabel }}
{{ (int) ($metrics['pending_collection'] ?? 0) }}

أفضل المنتجات (30 يوم)

@forelse($metrics['top_products'] ?? [] as $row)
{{ $row['name'] }} {{ $row['qty'] }} — {{ $fmt($row['revenue']) }}
@empty

لا توجد مبيعات أونلاين بعد.

@endforelse

آخر الطلبات

@forelse($metrics['recent_orders'] ?? [] as $order)
{{ $order['invoice_number'] }} — {{ $order['customer'] ?? 'زائر' }} {{ $fmt($order['total']) }}
@empty

لا طلبات حديثة.

@endforelse
@else

Online Store Channel

{{ $storefrontLabel }}

@if(! empty($links['storefront'])) زيارة المتجر @endif @if(! empty($links['orders'])) {{ $ordersLabel }} @endif @if(! empty($links['settings'])) إعدادات @endif
@php $kpiCards = [ ['hint' => 'store.metrics_sales_today', 'label' => 'مبيعات اليوم', 'value' => $currency.' '.$fmt($metrics['sales_today'] ?? 0), 'tone' => 'text-slate-900', 'wrap' => 'bg-emerald-50 text-emerald-600'], ['hint' => 'store.metrics_orders_today', 'label' => 'طلبات اليوم', 'value' => (string) (int) ($metrics['orders_today'] ?? 0), 'tone' => 'text-indigo-600', 'wrap' => 'bg-indigo-50 text-indigo-600'], ['hint' => 'store.metrics_revenue_month', 'label' => 'إيراد الشهر', 'value' => $currency.' '.$fmt($metrics['revenue_month'] ?? 0), 'tone' => 'text-slate-900', 'wrap' => 'bg-violet-50 text-violet-600'], ['hint' => 'store.metrics_pending_collection', 'label' => $pendingLabel, 'value' => (string) (int) ($metrics['pending_collection'] ?? 0), 'tone' => 'text-amber-800', 'wrap' => 'bg-amber-50 text-amber-600'], ]; @endphp @foreach($kpiCards as $card)

{{ $card['label'] }}

{{ $card['value'] }}

@endforeach

مبيعات آخر 7 أيام

طرق الدفع (الشهر)

أفضل المنتجات

@forelse($metrics['top_products'] ?? [] as $row)
{{ $row['name'] }} {{ $row['qty'] }} · {{ $fmt($row['revenue']) }}
@empty

لا مبيعات أونلاين بعد.

@endforelse

آخر الطلبات

@if(! empty($links['orders'])) عرض الكل @endif
@forelse($metrics['recent_orders'] ?? [] as $order)

{{ $order['invoice_number'] }}

{{ $order['customer'] ?? 'زائر' }} · {{ $order['created_at'] }}

{{ $fmt($order['total']) }}
@empty

لا طلبات حديثة.

@endforelse

تنبيهات المخزون

@forelse($metrics['low_stock'] ?? [] as $row)
{{ $row['name'] }} {{ $row['qty'] }} / {{ $row['alert'] }}
@empty

لا منتجات منشورة بمخزون منخفض.

@endforelse
@push('scripts') @endpush @endif