import { useAuthStore } from 'src/stores/auth'; export const links = [ { name: 'Home', to: '/', icon: 'home', front_links: false, enabled: true, }, { name: 'Profile', to: '/profile', icon: 'account_circle', front_links: false, enabled: false, }, { name: 'Boats', to: '/boat', icon: 'sailing', front_links: true, enabled: true, }, { name: 'Schedule', to: '/schedule', icon: 'calendar_month', front_links: true, enabled: true, sublinks: [ { name: 'List', to: '/schedule/list', icon: 'list', front_links: false, enabled: true, }, { name: 'Book', to: '/schedule/book', icon: 'more_time', front_links: false, enabled: true, }, { name: 'View', to: '/schedule/view', icon: 'calendar_month', front_links: false, enabled: true, }, { name: 'Manage', to: '/schedule/manage', icon: 'edit_calendar', front_links: false, enabled: true, requiredRoles: ['Schedule Admins'], }, ], }, { name: 'Certifications', to: '/certification', icon: 'verified', front_links: true, enabled: false, }, { name: 'Checklists', to: '/checklist', icon: 'checklist', front_links: true, enabled: false, }, { name: 'Reference', to: '/reference', icon: 'info_outline', front_links: true, enabled: false, }, { name: 'Tasks', to: '/task', icon: 'build', front_links: true, enabled: false, }, ]; const authStore = useAuthStore(); function hasRole(roles: string[] | undefined) { if (roles === undefined) return true; const hasRole = authStore.hasRequiredRole(roles); return hasRole; } export const enabledLinks = links .filter((link) => link.enabled) .map((link) => { if (link.sublinks) { link.sublinks = link.sublinks.filter( (sublink) => sublink.enabled && hasRole(sublink.requiredRoles) ); } return link; });