count(); $processingOrders = Order::where('status', 'processing')->count(); $lowStockProducts = Product::where('stock', '<', 10)->count(); $totalRevenue = Order::where('payment_status', 'paid')->sum('total'); $monthlyRevenue = Order::where('payment_status', 'paid') ->whereMonth('created_at', now()->month) ->whereYear('created_at', now()->year) ->sum('total'); $todayOrders = Order::whereDate('created_at', today())->count(); $todayRevenue = Order::where('payment_status', 'paid') ->whereDate('created_at', today()) ->sum('total'); return [ Stat::make('Pending Orders', $pendingOrders) ->description('Awaiting processing') ->descriptionIcon('heroicon-m-clock') ->color('warning') ->chart([7, 5, 10, 5, $pendingOrders]), Stat::make('Processing Orders', $processingOrders) ->description('Currently being processed') ->descriptionIcon('heroicon-m-arrow-path') ->color('info'), Stat::make('Low Stock Alert', $lowStockProducts) ->description('Products with less than 10 units') ->descriptionIcon('heroicon-m-exclamation-triangle') ->color($lowStockProducts > 0 ? 'danger' : 'success'), Stat::make('Today\'s Orders', $todayOrders) ->description('Orders placed today') ->descriptionIcon('heroicon-m-shopping-bag') ->color('success'), Stat::make('Today\'s Revenue', 'R' . number_format($todayRevenue, 2)) ->description(now()->format('l, F j')) ->descriptionIcon('heroicon-m-banknotes') ->color('success'), Stat::make('Monthly Revenue', 'R' . number_format($monthlyRevenue, 2)) ->description(now()->format('F Y')) ->descriptionIcon('heroicon-m-chart-bar') ->color('info'), Stat::make('Total Revenue', 'R' . number_format($totalRevenue, 2)) ->description('All time revenue') ->descriptionIcon('heroicon-m-currency-dollar') ->color('success'), Stat::make('Total Orders', $totalOrders) ->description('All time orders') ->descriptionIcon('heroicon-m-shopping-cart') ->color('primary'), ]; } }