@php
$member = auth()->user()
? app(\App\Services\Frontdesk\OrganizationResolver::class)->memberFor(auth()->user())
: null;
$permissions = app(\App\Services\Frontdesk\FrontdeskPermissions::class);
$organization = auth()->user()
? app(\App\Services\Frontdesk\OrganizationResolver::class)->resolveForUser(auth()->user())
: null;
$linkedHost = auth()->user()
? app(\App\Services\Frontdesk\OrganizationResolver::class)->hostFor(auth()->user())
: null;
$linkedEmployee = auth()->user()
? app(\App\Services\Frontdesk\OrganizationResolver::class)->employeeFor(auth()->user())
: null;
$nav = [
['name' => 'Reception', 'route' => route('frontdesk.dashboard'), 'active' => request()->routeIs('frontdesk.dashboard'),
'icon' => ''],
['name' => 'Check-in', 'route' => route('frontdesk.visits.create'), 'active' => request()->routeIs('frontdesk.visits.create'),
'iconViewBox' => '0 0 14 14',
'iconStrokeWidth' => 1,
'iconSizeClass' => 'h-4 w-4',
'icon' => ''],
['name' => 'Visits', 'route' => route('frontdesk.visits.index'), 'active' => request()->routeIs('frontdesk.visits.*') && !request()->routeIs('frontdesk.visits.create') && !request()->routeIs('frontdesk.visits.schedule*'),
'icon' => ''],
['name' => 'Schedule', 'route' => route('frontdesk.visits.schedule'), 'active' => request()->routeIs('frontdesk.visits.schedule*'),
'icon' => ''],
['name' => 'Calendar', 'route' => route('frontdesk.visits.calendar'), 'active' => request()->routeIs('frontdesk.visits.calendar'),
'icon' => ''],
['name' => 'Visitors', 'route' => route('frontdesk.visitors.index'), 'active' => request()->routeIs('frontdesk.visitors.*'),
'icon' => ''],
['name' => 'Hosts', 'route' => route('frontdesk.hosts.index'), 'active' => request()->routeIs('frontdesk.hosts.*'),
'icon' => ''],
];
if ($permissions->can($member, 'employees.view')) {
$nav[] = ['name' => 'Employees', 'route' => route('frontdesk.employees.index'), 'active' => request()->routeIs('frontdesk.employees.*'),
'iconViewBox' => '0 0 14 14',
'iconStrokeWidth' => 1,
'iconSizeClass' => 'h-4 w-4',
'icon' => ''];
}
$nav = array_merge($nav, [
['name' => 'Kiosk', 'route' => route('frontdesk.kiosk'), 'active' => request()->routeIs('frontdesk.kiosk') && !request()->routeIs('frontdesk.kiosk.device*'),
'icon' => ''],
]);
if ($linkedHost) {
$nav[] = ['name' => 'Host portal', 'route' => route('frontdesk.host.index'), 'active' => request()->routeIs('frontdesk.host.*'),
'icon' => ''];
}
if ($linkedEmployee) {
$nav[] = ['name' => 'My presence', 'route' => route('frontdesk.employee.portal'), 'active' => request()->routeIs('frontdesk.employee.*'),
'icon' => ''];
}
$nav = array_merge($nav, [
['name' => 'Security', 'route' => route('frontdesk.security.index'), 'active' => request()->routeIs('frontdesk.security.*'),
'icon' => ''],
]);
if ($permissions->can($member, 'reports.view')) {
$nav[] = ['name' => 'Reports', 'route' => route('frontdesk.reports.index'), 'active' => request()->routeIs('frontdesk.reports.*'),
'icon' => ''];
}
if ($permissions->can($member, 'devices.view')) {
$nav[] = ['name' => 'Devices', 'route' => route('frontdesk.devices.index'), 'active' => request()->routeIs('frontdesk.devices.*'),
'icon' => ''];
}
if ($organization && data_get($organization->settings, 'queue_integration_enabled') && $permissions->can($member, 'service_queues.console')) {
$nav[] = ['name' => 'Service queues', 'route' => route('frontdesk.service-queues.index'), 'active' => request()->routeIs('frontdesk.service-queues.*'),
'icon' => ''];
}
if ($permissions->can($member, 'watchlist.view')) {
$nav[] = ['name' => 'Watchlist', 'route' => route('frontdesk.watchlist.index'), 'active' => request()->routeIs('frontdesk.watchlist.*'),
'icon' => ''];
}
if ($permissions->can($member, 'audit.view')) {
$nav[] = ['name' => 'Audit log', 'route' => route('frontdesk.audit.index'), 'active' => request()->routeIs('frontdesk.audit.*'),
'icon' => ''];
}
$complianceNav = [];
if ($permissions->can($member, 'compliance.restore')) {
$complianceNav[] = ['name' => 'Recovery', 'route' => route('frontdesk.compliance.recovery'), 'active' => request()->routeIs('frontdesk.compliance.*'),
'icon' => ''];
}
$adminNav = [];
if ($permissions->can($member, 'admin.branches.view')) {
$adminNav[] = ['name' => 'Branches', 'route' => route('frontdesk.branches.index'), 'active' => request()->routeIs('frontdesk.branches.*') || request()->routeIs('frontdesk.buildings.*') || request()->routeIs('frontdesk.desks.*'),
'icon' => ''];
}
if ($permissions->can($member, 'admin.members.view')) {
$adminNav[] = ['name' => 'Team', 'route' => route('frontdesk.members.index'), 'active' => request()->routeIs('frontdesk.members.*'),
'icon' => ''];
}
@endphp