UNPKG

create-magner

Version:

CLI for bootstrapping Magner projects

92 lines (86 loc) 2.08 kB
import { routerController, translate } from 'magner'; import loginPageConfig from 'features/login/login'; import addressConfig from 'features/addresses/address'; import addressesConfig from 'features/addresses/addresses'; import { ROLE } from '~/constants'; const router = routerController<ROLE>({ global: { homeNoAuthName: 'login', homeHasAuthName: 'residents', }, routes: [ { type: 'preset', route: { path: '/login', name: 'login', }, preset: { preset: 'login', config: loginPageConfig, }, }, { type: 'layout', layout: { layout: 'main', name: '', path: '/', props: { sidebarGroups: [ { name: 'address-group', icon: () => import('assets/icons/map.svg'), title: translate('address.sidebar.group_title'), routes: ['address', 'addresses'], }, ], }, routes: [ /** Addresses */ { type: 'preset', preset: { preset: 'card', config: addressConfig, }, route: { name: 'address', path: '/addresses/:id', link: '/addresses/new', roles: true, visible: true, title: translate('address.sidebar.card_title'), }, }, { type: 'preset', preset: { preset: 'table', config: addressesConfig, }, route: { name: 'addresses', path: '/addresses', roles: true, visible: true, title: translate('address.sidebar.table_title'), }, }, ], }, }, { type: 'preset', route: { path: '/:pathMatch(.*)*', name: 'error', }, preset: { preset: '404', config: {}, }, }, ], }); export default router;