@php $adminMenu = \App\Models\Masters\MasterMenu::getMenu(); $className = \App\Helpers\Helper::getController(); $currentRoute = request()->route() ? request()->route()->getName() : ''; // Define related controllers that should activate the same menu $relatedControllers = [ 'PropertyAgeFeeController' => ['TaxController', 'ClientDiscountController', 'DiscountCouponController'], 'ReportTemplateServiceController' => ['ReportTemplateIntroductionController', 'ReportTemplateCoverLetterController', 'ReportTemplateClosingStatementController', 'ReportTemplateController'], 'EmployeeController' => ['ServicePaySettingController'], ]; // Define special route-based active states for Schedule submenus to ensure mutual exclusivity $scheduleRoutes = [ 'list' => ['admin.schedule.list'], // Schedules submenu routes 'create' => ['admin.schedule.create', 'admin.schedule.step1', 'admin.schedule.step2', 'admin.schedule.step3'] // Create New Appointment submenu routes ]; // Check if current user is an agent or customer $isAgent = false; $isCustomer = false; if (auth()->check()) { $userRoles = auth()->user()->userRoles()->with('role')->get(); $isAgent = $userRoles->contains(function($userRole) { return $userRole->role && strtolower($userRole->role->title) === 'agent'; }); $isCustomer = $userRoles->contains(function($userRole) { return $userRole->role && strtolower($userRole->role->title) === 'customer'; }); } @endphp