@php $isDashboardMenu = request()->routeIs('dashboard'); $isCalendarMenu = request()->routeIs('activity-schadule*'); $isAttendanceMenu = request()->routeIs('attendance*') || request()->is('attendance*'); $isZoomMeetingMenu = request()->routeIs('zoom-meeting*') || request()->is('zoom-meeting*'); $isBusinessEmailMenu = request()->routeIs('business-email*') || request()->is('business-email*'); $isAdminAttendanceMenu = request()->routeIs('admin-attendance*') || request()->is('admin-attendance*'); $isHrMeetingMenu = request()->routeIs('hr-meetings*') || request()->is('hr-meetings*'); $isEmailManagementMenu = request()->routeIs('email-management*') || request()->is('email-management*'); $isPicAttendanceMenu = (request()->routeIs('pic-attendance*') || request()->is('pic-attendance*')) && ! request()->routeIs('pic-attendance.task*'); $isPicTeamTasksMenu = request()->routeIs('pic-attendance.task*'); $isDirectorTaskMenu = request()->routeIs('director-attendance.task*'); $isDirectorAttendanceMenu = (request()->routeIs('director-attendance*') || request()->is('director-attendance*')) && ! $isDirectorTaskMenu; $isReportingMenu = request()->routeIs('project_management', 'project_management.detail') || request()->is('project-management*'); $isAuthorizationMenu = request()->routeIs('authorization*') || request()->is('authorization*'); $isApplicantMenu = request()->routeIs('applicant*') || request()->is('applicant*'); $isSettingsMenu = request()->routeIs('settings*') || request()->is('settings*'); $canViewSidebarMenu = $canViewSidebarMenu ?? static fn (string $permissionName): bool => true; $canViewDashboardMenu = $canViewSidebarMenu('view-dashboard'); $canViewCalendarMenu = $canViewSidebarMenu('view-calendar'); $canViewAttendanceMenu = $canViewSidebarMenu('view-attendance'); $canViewTimesheetReportingMenu = $canViewSidebarMenu('view-timesheet-reporting'); $canViewMeetingMenu = $canViewSidebarMenu('view-meeting'); $canViewAdminAttendanceMenu = $canViewSidebarMenu('view-admin-attendance'); $canViewHrMeetingsMenu = $canViewAdminAttendanceMenu; $canViewEmailManagementMenu = $canViewSidebarMenu('view-email-management'); $canViewPicAttendanceMenu = $canViewSidebarMenu('view-pic-attendance'); $canViewDirectorAttendanceMenu = $canViewSidebarMenu('view-director-attendance'); $canViewAuthorizationMenu = $canViewSidebarMenu('view-authorization'); $canViewTalentAcquisitionMenu = $canViewSidebarMenu('view-talent-acquisition'); $canViewSettingsMenu = $canViewSidebarMenu('view-settings'); $canViewBusinessEmailMenu = $canViewSidebarMenu('view-business-email'); $useDirectorManagementMenu = $canViewDirectorAttendanceMenu; $showAdminAuthorizationMenu = $canViewAuthorizationMenu && ! $useDirectorManagementMenu; $showPicTalentAcquisitionMenu = $canViewTalentAcquisitionMenu && $canViewPicAttendanceMenu && ! $useDirectorManagementMenu; $showAdminTalentAcquisitionMenu = $canViewTalentAcquisitionMenu && ! $useDirectorManagementMenu && ! $showPicTalentAcquisitionMenu; $showDirectorAuthorizationMenu = $canViewAuthorizationMenu && $useDirectorManagementMenu; $showDirectorTalentAcquisitionMenu = $canViewTalentAcquisitionMenu && $useDirectorManagementMenu; $showAdminManagementMenu = $canViewAdminAttendanceMenu || $canViewHrMeetingsMenu || $canViewEmailManagementMenu || $showAdminAuthorizationMenu || $showAdminTalentAcquisitionMenu; $showPicManagementMenu = $canViewPicAttendanceMenu || $showPicTalentAcquisitionMenu; $showDirectorManagementMenu = $canViewDirectorAttendanceMenu || $showDirectorAuthorizationMenu || $showDirectorTalentAcquisitionMenu; @endphp @if ($canViewDashboardMenu || $canViewCalendarMenu)

    Main

    @endif @if ($canViewDashboardMenu)
  • Dashboard
  • @endif @if ($canViewCalendarMenu)
  • Activity Calendar
  • @endif @if ($canViewAttendanceMenu || $canViewTimesheetReportingMenu || $canViewMeetingMenu || $canViewBusinessEmailMenu)

    Siap

    @endif @if ($canViewAttendanceMenu)
  • Attendance
  • @endif @if ($canViewTimesheetReportingMenu)
  • Timesheet & Reporting
  • @endif @if ($canViewBusinessEmailMenu)
  • Business Email
  • @endif @if ($canViewMeetingMenu)
  • Zoom Meeting
  • @endif @if ($showAdminManagementMenu)

    Admin Management

    @if ($canViewAdminAttendanceMenu)
  • Admin Attendance
  • @endif @if ($canViewHrMeetingsMenu)
  • HR Meetings
  • @endif @if ($canViewEmailManagementMenu)
  • Email Management
  • @endif @if ($showAdminAuthorizationMenu)
  • Employee Data
  • @endif @if ($showAdminTalentAcquisitionMenu)
  • Talent Acquisition
    • Applicants
    • Job Vacancies
    • @if ($canViewEmailManagementMenu)
    • Email
    • @endif
  • @endif @endif @if ($showPicManagementMenu)

    PIC Management

    @if ($canViewPicAttendanceMenu)
  • Attendance
  • Team tasks
  • @endif @if ($showPicTalentAcquisitionMenu)
  • Talent Acquisition
    • Applicants
    • Job Vacancies
    • @if ($canViewEmailManagementMenu)
    • Email
    • @endif
  • @endif @endif @if ($showDirectorManagementMenu)

    Director Management

    @if ($canViewDirectorAttendanceMenu)
  • Attendance
  • Task Management
  • @endif @if ($showDirectorAuthorizationMenu)
  • Employee Data
  • @endif @if ($showDirectorTalentAcquisitionMenu)
  • Talent Acquisition
    • Applicants
    • Job Vacancies
    • @if ($canViewEmailManagementMenu)
    • Email
    • @endif
  • @endif @endif @if ($canViewSettingsMenu)

    Setting

  • Setting
    • Company
    • Division
    • Position
    • Work Locations
    • Attendance Rules
  • @endif