composer([ 'layouts.admin.app', 'layouts.admin.sidebar', 'admin.shared.products' ], function ($view) { $view->with('admin', Auth::guard('employee')->user()); }); view()->composer(['layouts.front.app', 'front.categories.sidebar-category'], function ($view) { $view->with('categories', $this->getCategories()); $view->with('cartCount', $this->getCartCount()); }); /** * breadcumb */ view()->composer([ "layouts.admin.app" ], function ($view) { $breadcumb = [ ["name" => "Dashboard", "url" => route("admin.dashboard"), "icon" => "fa fa-dashboard"], ]; $paths = request()->segments(); if (count($paths) > 1) { foreach ($paths as $key => $pah) { if ($key == 1) $breadcumb[] = ["name" => ucfirst($pah), "url" => request()->getBaseUrl() . "/" . $paths[0] . "/" . $paths[$key], 'icon' => config("module.admin." . $pah . ".icon")]; elseif ($key == 2) $breadcumb[] = ["name" => ucfirst($pah), "url" => request()->getBaseUrl() . "/" . $paths[0] . "/" . $paths[1] . "/" . $paths[$key], 'icon' => config("module.admin." . $pah . ".icon")]; } } $view->with( [ "breadcumbs" => $breadcumb ] ); }); view()->composer(['layouts.front.category-nav'], function ($view) { $view->with('categories', $this->getCategories()); }); } /** * Get all the categories * */ private function getCategories() { $categoryRepo = new CategoryRepository(new Category); return $categoryRepo->listCategories('name', 'asc', 1)->whereIn('parent_id', [1]); } /** * @return int */ private function getCartCount() { $cartRepo = new CartRepository(new ShoppingCart); return $cartRepo->countItems(); } /** * @param Employee $employee * @return bool */ private function isAdmin(Employee $employee) { $employeeRepo = new EmployeeRepository($employee); return $employeeRepo->hasRole('admin'); } }