import type { RouteRecordStringComponent } from '@vben/types'; /** * 非菜单路由(个人中心等) */ const localRoutes: RouteRecordStringComponent[] = [ { component: '/_core/profile/index', meta: { icon: 'mingcute:profile-line', title: 'ui.widgets.profile', hideInMenu: true, requireHomeRedirect: true, }, name: 'Profile', path: '/profile', }, ]; /** * 泰额版本地菜单(对齐美国版平台端 Sidebar,路径与 US RBAC Router 一致) * meta.title 使用 i18n key:foodLabeling.* */ export const localMenuList: RouteRecordStringComponent[] = [ { component: 'BasicLayout', meta: { order: -1, title: 'page.dashboard.title', noBasicLayout: true, }, name: 'Dashboard', path: '/', redirect: '/analytics', children: [ { name: 'Analytics', path: '/analytics', component: '/dashboard/analytics/index', meta: { affixTab: true, icon: 'lucide:area-chart', title: 'page.dashboard.analytics', }, }, { name: 'Workspace', path: '/workspace', component: '/dashboard/workspace/index', meta: { icon: 'carbon:workspace', title: 'page.dashboard.workspace', }, }, ], }, { component: 'BasicLayout', meta: { order: 10, icon: 'lucide:tags', title: 'foodLabeling.labeling.root', }, name: 'Labeling', path: '/labeling', redirect: '/labels', children: [ { name: 'Labels', path: '/labels', component: '/food-labeling/labeling/labels/index', meta: { icon: 'lucide:tag', title: 'foodLabeling.labeling.labels', }, }, { name: 'LabelCategories', path: '/label-categories', component: '/food-labeling/labeling/label-categories/index', meta: { icon: 'lucide:layers', title: 'foodLabeling.labeling.labelCategories', }, }, { name: 'LabelTypes', path: '/label-types', component: '/food-labeling/labeling/label-types/index', meta: { icon: 'lucide:type', title: 'foodLabeling.labeling.labelTypes', }, }, { name: 'LabelTemplates', path: '/label-templates', component: '/food-labeling/labeling/label-templates/index', meta: { icon: 'lucide:layout-template', title: 'foodLabeling.labeling.labelTemplates', }, }, { name: 'LabelTemplateEditor', path: '/label-templates/editor', component: '/food-labeling/labeling/label-templates/editor/index', meta: { hideInMenu: true, title: 'foodLabeling.labelTemplates.editorPageTitle', activePath: '/label-templates', }, }, { name: 'MultipleOptionSets', path: '/multiple-options', component: '/food-labeling/labeling/multiple-options/index', meta: { icon: 'lucide:list-tree', title: 'foodLabeling.labeling.multipleOptionSets', }, }, ], }, { component: 'BasicLayout', meta: { order: 20, icon: 'lucide:building-2', title: 'foodLabeling.management.section', }, name: 'Management', path: '/management', redirect: '/account-management', children: [ { name: 'AccountManagement', path: '/account-management', component: '/food-labeling/management/account-management/index', meta: { icon: 'lucide:users', keepAlive: false, noCache: true, title: 'foodLabeling.management.accountManagement', }, }, { name: 'MenuManagement', path: '/menu-management', component: '/food-labeling/management/menu-management/index', meta: { icon: 'lucide:utensils-crossed', keepAlive: false, noCache: true, title: 'foodLabeling.management.menuManagement', }, }, { name: 'Reports', path: '/reports', component: '/food-labeling/management/reports/index', meta: { icon: 'lucide:file-text', keepAlive: false, noCache: true, title: 'foodLabeling.management.reports', }, }, { name: 'Support', path: '/support', component: '/food-labeling/management/support/index', meta: { icon: 'lucide:help-circle', keepAlive: false, noCache: true, title: 'foodLabeling.management.support', }, }, ], }, ...localRoutes, ];