@extends('layouts.app') @section('title', __('dashboard.sidebar_products')) @section('page_heading', __('dashboard.sidebar_products')) @section('content') @php $currentState = $state ?? request('state', 'active'); $scrapFilter = $scrapFilter ?? 'active'; $totalRent = \App\Models\Product::where('type','rent')->where('is_scrapped',false)->count(); $totalSale = \App\Models\Product::where('type','sale')->where('is_scrapped',false)->count(); $totalScrapped = \App\Models\Product::where('is_scrapped',true)->count(); $fallbackImg = asset('assets/media/svg/files/blank-image.svg'); @endphp {{-- KPIs --}}
@foreach([ ['fa-solid fa-bag-shopping', '#eff6ff','#2563eb', $products->total(), __('dashboard.total_products')], ['fa-solid fa-rotate', 'var(--c-primary-bg)','var(--c-primary)', $totalRent, 'منتجات تأجير'], ['fa-solid fa-cart-shopping','#f0fdf4','#16a34a', $totalSale, 'منتجات بيع'], ['fa-solid fa-trash-can', '#fef2f2','#dc2626', $totalScrapped, 'خردة'], ] as [$ic,$bg,$cl,$val,$lbl])
{{ $val }}
{{ $lbl }}
@endforeach
{{-- Head --}}
{{ __('dashboard.All Products') }} {{ number_format($products->total()) }}
{{-- State tabs --}}
@foreach(['active' => __('dashboard.status_active'), 'trashed' => __('dashboard.status_deleted'), 'all' => __('dashboard.all')] as $v => $l) {{ $l }} @endforeach
{{-- Scrap filter --}}
@foreach(['active' => __('dashboard.active'), 'scrapped' => 'خردة', 'all' => __('dashboard.all')] as $v => $l) {{ $l }} @endforeach
{{-- Search --}}
التصنيفات @can('create products') {{ __('dashboard.Add New Product') }} @endcan
@if($products->isEmpty())
@include('layouts.partials.index-empty-state',['icon'=>'fa-solid fa-bag-shopping','title'=>__('dashboard.No products found.'),'message'=>''])
@else
@foreach(['SKU','الصورة','المنتج','التصنيف',__('dashboard.type_label'),'السعر','المخزون','النشاط',''] as $h) @endforeach @foreach($products as $prod) @php $img = $prod->main_image ? asset('storage/'.$prod->main_image) : $fallbackImg; @endphp @endforeach
{{ $h }}
{{ $prod->sku }}
{{ $prod->name }}
@if($prod->trashed()) محذوف @elseif($prod->is_scrapped) خردة @endif
{{ $prod->category?->name ?? '—' }} @if($prod->type === 'rent') تأجير @else بيع @endif
{{ number_format($prod->price,2) }}
ج.م
{{ $prod->stock }}
{{ $prod->type === 'rent' ? $prod->reservations_count : ($prod->sale_products_sum_quantity ?? 0) }}
{{ $prod->type === 'rent' ? 'حجز' : 'وحدة' }}
@canany(['view products','edit products','delete products'])
@if($prod->trashed())
@csrf
@else @can('view products') عرض @endcan @can('edit products') تعديل @endcan @can('delete products')
@csrf @method('DELETE')
@endcan @endif
@endcanany
{{ $products->appends(request()->query())->links() }}
@endif
@endsection