@extends('layouts.admin', ['title' => 'المنتجات والمخزون']) @php $fmt = fn ($minor) => number_format(($minor ?? 0) / 100, 2).' EGP'; @endphp @section('content')

مركز المنتجات والمخزون

تحكم كامل في الباقات، طرق التسليم، المخزون، الأسعار، والهامش.

إجمالي المنتجات{{ $summary['total'] }}
مفعلة{{ $summary['active'] }}
معطلة{{ $summary['inactive'] }}
مخزون منخفض{{ $summary['lowStock'] }}
منتجات أكواد{{ $summary['storedCodes'] }}
متوسط الهامش{{ number_format($summary['avgMargin'], 1) }}%

جدول الكتالوج

@csrf
@if($products->count())
@foreach($products->getCollection()->groupBy(fn ($product) => $product->game?->name_ar ?: 'بدون لعبة') as $gameName => $groupProducts) @php $firstGame = $groupProducts->first()?->game; $groupLowStock = $groupProducts->filter(fn ($product) => $product->stock_available <= $product->min_stock_alert)->count(); $groupActive = $groupProducts->where('status', 'active')->count(); @endphp
@if($firstGame?->image_path) @else @endif

{{ $gameName }}

{{ $groupProducts->count() }} منتج

{{ $groupActive }} مفعل {{ $groupLowStock }} منخفض
@foreach($groupProducts as $product) @php($margin = $product->price_minor > 0 ? (($product->price_minor - $product->cost_minor) / $product->price_minor) * 100 : 0) @endforeach
المنتجSKUالسعرالتكلفةالهامشالمخزونالتسليمالحالةإجراءات
{{ $product->name_ar }}
{{ $product->name_en }}
{{ $product->sku }} {{ $fmt($product->sale_price_minor ?: $product->price_minor) }} {{ $fmt($product->cost_minor) }} {{ number_format($margin, 1) }}% {{ $product->stock_available }} {{ $product->delivery_method }} {{ $product->status === 'active' ? 'مفعل' : 'معطل' }}
@endforeach
@else
لا توجد منتجات مطابقة للفلاتر.
@endif
{{ $products->links() }}
@endsection