@extends('layouts.app') @section('title', __('dashboard.loyalty_cards_title')) @section('page_heading', __('dashboard.loyalty_cards_title')) @section('content')
حركات النقاط إعدادات الولاء
{{-- KPIs --}}
@foreach([ ['icon'=>'fa-solid fa-layer-group', 'bg'=>'#eff6ff','color'=>'#2563eb','val'=>number_format($cardMetrics['total_batches']), 'lbl'=>'دفعات التوليد'], ['icon'=>'fa-solid fa-ticket','bg'=>'#f0fdf4','color'=>'#16a34a','val'=>number_format($cardMetrics['total_cards']), 'lbl'=>__('dashboard.total_codes')], ['icon'=>'fa-solid fa-circle-check', 'bg'=>'#fffbeb','color'=>'#d97706','val'=>number_format($cardMetrics['redeemed_cards']), 'lbl'=>'الأكواد المستبدلة'], ['icon'=>'fa-solid fa-barcode', 'bg'=>'#fef2f2','color'=>'#dc2626','val'=>number_format($cardMetrics['available_cards']),'lbl'=>'الأكواد الجاهزة'], ] as $k)
{{ $k['val'] }}
{{ $k['lbl'] }}
@endforeach
{{-- Generate + Redeem --}}
توليد دفعة كروت جديدة
@csrf
@error('title')
{{ $message }}
@enderror
@error('event_name')
{{ $message }}
@enderror
@error('code_prefix')
{{ $message }}
@enderror
@error('points_per_card')
{{ $message }}
@enderror
@error('cards_count')
{{ $message }}
@enderror
@error('points_expiry_days')
{{ $message }}
@enderror
@error('notes')
{{ $message }}
@enderror
استبدال كرت لعميل
@csrf
@error('customer_id')
{{ $message }}
@enderror
@error('code')
{{ $message }}
@enderror
{{-- Batches --}}
دفعات التوليد
{{ $batches->total() }} دفعة
@forelse($batches as $b) @empty @endforelse
العنوان الحدث النقاط/كرت المولد الأكواد الصلاحية التاريخ
{{ $b->title }}
@if($b->notes)
{{ $b->notes }}
@endif
{{ $b->event_name??'—' }} {{ number_format($b->points_per_card) }} {{ $b->creator?->name??'—' }} {{ number_format($b->generated_cards_count) }} مولد {{ number_format($b->redeemed_cards_count) }} مستبدل {{ $b->points_expiry_days?$b->points_expiry_days.' يوم':'بدون انتهاء' }} {{ $b->created_at->format('Y-m-d') }}
@include('layouts.partials.empty-table-state', ['message'=>'لا توجد دفعات بعد'])
@if($batches->hasPages())@endif
{{-- Cards log --}}
سجل الأكواد
{{ $cards->total() }} كود
@forelse($cards as $card) @empty @endforelse
الكود الدفعة النقاط {{ __('dashboard.status_label') }} العميل استبدله صلاحية النقاط تاريخ الاستبدال
{{ $card->code }} {{ $card->batch?->title??'—' }} {{ number_format($card->points_amount) }} @if($card->status==='redeemed') مستبدل @elseif($card->status==='cancelled') ملغي @else جاهز @endif {{ $card->redeemedCustomer?->name??'—' }} {{ $card->redeemedBy?->name??'—' }} {{ $card->points_expires_at?$card->points_expires_at->format('Y-m-d'):'—' }} {{ $card->redeemed_at?$card->redeemed_at->format('Y-m-d H:i'):'—' }}
@include('layouts.partials.empty-table-state', ['message'=>'لا توجد أكواد لعرضها'])
@if($cards->hasPages())@endif
@endsection @section('styles') @endsection