app->singleton(GoogleSheetService::class, function () { return new GoogleSheetService(); }); $this->app->singleton(ServiceSIMBG::class, function ($app) { return new ServiceSIMBG($app->make(GoogleSheetService::class)); }); } /** * Bootstrap any application services. */ public function boot(): void { Blade::component('circle', Circle::class); View::composer('layouts.partials.sidebar', function ($view) { $user = Auth::user(); if ($user) { $menus = Menu::whereHas('roles', function ($query) use ($user) { $query->whereIn('roles.id', $user->roles->pluck('id')) ->where('role_menu.allow_show', 1); }) ->with(['children' => function ($query) use ($user) { $query->whereHas('roles', function ($subQuery) use ($user) { $subQuery->whereIn('roles.id', $user->roles->pluck('id')) ->where('role_menu.allow_show', 1); }); }]) ->whereNull('parent_id') // Ambil hanya menu utama ->orderBy('sort_order', 'asc') ->get(); } else { $menus = collect(); } $view->with('menus', $menus); }); } }