@extends('layouts.app') @section('title', 'Reports Overview - Admin') @section('content')
{{-- Page Header --}}

Reports & Analytics

Comprehensive insights into your marketplace performance

{{-- Report Navigation --}} @include('admin.reports.partials.nav') {{-- Period Filter --}} @include('admin.reports.partials.period-filter', ['from' => $from, 'to' => $to]) {{-- Summary Statistics --}} @include('admin.reports.partials.summary-cards', ['summary' => $summary]) {{-- Comparison Cards --}} @include('admin.reports.partials.comparison-cards', ['comparison' => $comparison]) {{-- Revenue Chart --}}
Revenue & Orders Trend
{{-- Top Performers --}}
{{-- Top Products --}}
Top Products
View All
@forelse($topProducts as $index => $product)
{{ $index + 1 }}
{{ data_get($product, 'product_title', 'Unknown') }}
{{ number_format((int) data_get($product, 'units', 0)) }} units
{{ number_format((float) data_get($product, 'revenue', 0), 2) }}
@empty
No product data
@endforelse
{{-- Top Sellers --}}
Top Sellers
View All
@forelse($topSellers as $index => $seller)
{{ $index + 1 }}
{{ data_get($seller, 'seller_name', 'Unknown Seller') }}
{{ number_format((int) data_get($seller, 'total_orders', 0)) }} orders
{{ number_format((float) data_get($seller, 'total_revenue', 0), 2) }}
@empty
No seller data
@endforelse
{{-- Top Categories --}}
Top Categories
@forelse($topCategories as $index => $category)
{{ $index + 1 }}
{{ data_get($category, 'category_name', 'Uncategorized') }}
{{ number_format((int) data_get($category, 'total_units', 0)) }} units
{{ number_format((float) data_get($category, 'total_revenue', 0), 2) }}
@empty
No category data
@endforelse
{{-- Payment Analytics --}}
Revenue by Payment Method
@if(!empty($paymentAnalytics['by_method'])) @php $totalRevenue = collect($paymentAnalytics['by_method']) ->sum(fn ($method) => (float) data_get($method, 'total', 0)); @endphp @foreach($paymentAnalytics['by_method'] as $method) @php $methodName = (string) data_get($method, 'payment_method', 'unknown'); $methodTotal = (float) data_get($method, 'total', 0); $methodCount = (int) data_get($method, 'count', 0); $methodPercentage = $totalRevenue > 0 ? min(100, max(0, ($methodTotal / $totalRevenue) * 100)) : 0; @endphp
{{ ucfirst(str_replace('_', ' ', $methodName)) }} {{ number_format($methodTotal, 2) }}
{{ number_format($methodCount) }} {{ \Illuminate\Support\Str::plural('transaction', $methodCount) }}
@endforeach @else
No payment data
@endif
Order Status Distribution
@if(!empty($paymentAnalytics['by_status']))
@foreach($paymentAnalytics['by_status'] as $status) @php $paymentStatus = (string) data_get($status, 'payment_status', 'unknown'); $paymentStatusCount = (int) data_get($status, 'count', 0); @endphp
{{ ucfirst(str_replace('_', ' ', $paymentStatus)) }} {{ number_format($paymentStatusCount) }}
@endforeach
@else
No status data
@endif
{{-- Daily Sales Table --}}
Daily Sales Breakdown
@forelse($sales as $row) @empty @endforelse
Date Orders Revenue
{{ \Carbon\Carbon::parse(data_get($row, 'report_date'))->format('M d, Y (D)') }} {{ number_format((int) data_get($row, 'orders_count', 0)) }} {{ number_format((float) data_get($row, 'revenue', 0), 2) }}
No sales data for this period
@endsection @push('styles') @endpush @push('scripts') @endpush