namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\View; use App\Models\User; use App\Models\Vendor; use App\Models\Campaign; use App\Models\Contact; use App\Models\Template; use App\Models\BotReply; class ViewServiceProvider extends ServiceProvider { public function register() { // } public function boot() { // Provide stats to cards.blade.php automatically View::composer('layouts.headers.cards', function ($view) { // Central Admin Stats $totalVendors = Vendor::count(); $totalActiveVendors = Vendor::where('status', 1)->count(); $totalCampaigns = Campaign::count(); $messagesInQueue = Campaign::where('status', 'pending')->count(); $totalContacts = Contact::count(); $totalMessagesProcessed = Campaign::where('status', 'sent')->count(); // Vendor / User Stats $totalGroups = Contact::distinct('group_id')->count(); $totalTemplates = Template::count(); $totalBotReplies = BotReply::count(); $activeTeamMembers = User::where('status', 1)->count(); $view->with(compact( 'totalVendors', 'totalActiveVendors', 'totalCampaigns', 'messagesInQueue', 'totalContacts', 'totalMessagesProcessed', 'totalGroups', 'totalTemplates', 'totalBotReplies', 'activeTeamMembers' )); }); } }