Files
salvato.newfreeplanet/src/router/routesECommerce.ts
2023-12-16 00:51:10 +01:00

308 lines
7.7 KiB
TypeScript

import { IListRoutes, ISites } from '@src/model'
function getRoutesEcomm(site: ISites) {
const routes_ecommerce: IListRoutes[] = [
{
active: true,
order: 30,
path: '/products',
materialIcon: 'fas fa-shopping-cart',
name: 'pages.productslist',
component: () => import('@/views/ecommerce/productsList/productsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
},
{
active: true,
order: 30,
path: '/checkout',
materialIcon: 'fas fa-shopping-cart',
name: 'pages.checkout',
component: () => import('@/views/ecommerce/checkOut/checkOut.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
},
{
active: true,
order: 30,
path: '/orderinfo',
materialIcon: 'fas fa-shopping-cart',
name: 'pages.orderinfo',
component: () => import('@/views/ecommerce/orderInfo/orderInfo.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
},
/*{
active: true,
order: 35,
path: '/admin/ecommerce/orders',
materialIcon: 'fas fa-file-alt',
name: 'pages.orders',
component: () => import('@/rootgen/admin/orders/orders.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyDepartment: true
},*/
]
const routes_admin_ecommerce: IListRoutes[] = [
{
active: true,
order: 30,
path: '/admin/ecommerce/settings',
materialIcon: 'fas fa-cogs',
name: 'ecomm.settings',
component: () => import('@/rootgen/admin/settings/settings.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/ecommerce/products',
materialIcon: 'fas fa-lemon',
name: 'pages.products',
component: () => import('@/rootgen/admin/products/products.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/ecommerce/producers',
materialIcon: 'fas fa-tractor',
name: 'pages.producer',
component: () => import('@/rootgen/admin/producer/producer.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/ecommerce/storehouses',
materialIcon: 'fas fa-file-alt',
name: 'pages.storehouses',
component: () => import('@/rootgen/admin/storehouses/storehouses.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/ecommerce/providers',
materialIcon: 'fas fa-file-alt',
name: 'pages.providers',
component: () => import('@/rootgen/admin/providers/providers.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/ecommerce/scontistica',
materialIcon: 'fas fa-gift',
name: 'pages.scontisticas',
component: () => import('@/rootgen/admin/scontistica/scontistica.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 31,
path: '/admin/ecommerce/departments',
materialIcon: 'fas fa-file-alt',
name: 'pages.departments',
component: () => import('@/rootgen/admin/departments/departments.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
/*{
active: true,
order: 31,
path: '/admin/ecommerce/orders',
materialIcon: 'fas fa-file-alt',
name: 'pages.orders',
component: () => import('@/rootgen/admin/orders/orders.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},*/
{
active: true,
order: 32,
path: '/admin/ecommerce/categories',
materialIcon: 'fas fa-file-alt',
name: 'pages.categories',
component: () => import('@/rootgen/admin/categories/categories.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
]
const routes_admin_ecommerce_menu: IListRoutes[] = [
{
active: true,
order: 30,
path: '/admin/ecommerce/products',
name: 'pages.products',
component: () => import('@/rootgen/admin/products/products.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 31,
path: '/admin/ecommerce/producers',
name: 'pages.producer',
component: () => import('@/rootgen/admin/producer/producer.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 32,
path: '/admin/ecommerce/storehouses',
name: 'pages.storehouses',
component: () => import('@/rootgen/admin/storehouses/storehouses.vue'),
infooter: false,
},
{
active: true,
order: 32,
path: '/admin/ecommerce/providers',
name: 'pages.providers',
component: () => import('@/rootgen/admin/providers/providers.vue'),
infooter: false,
},
{
active: true,
order: 32,
path: '/admin/ecommerce/scontistica',
name: 'pages.scontisticas',
component: () => import('@/rootgen/admin/scontistica/scontistica.vue'),
infooter: false,
},
{
active: true,
order: 32,
path: '/admin/ecommerce/departments',
name: 'pages.departments',
component: () => import('@/rootgen/admin/departments/departments.vue'),
infooter: false,
},
{
active: true,
order: 35,
path: '/admin/ecommerce/orders',
name: 'pages.orders2',
component: () => import('@/rootgen/admin/orders/orders.vue'),
infooter: false,
},
{
active: true,
order: 36,
path: '/admin/ecommerce/categories',
name: 'pages.categories',
component: () => import('@/rootgen/admin/categories/categories.vue'),
infooter: false,
},
]
const menuEcomm = [
{
active: site.confpages && site.confpages.enableEcommerce,
path: '/ecommerce',
order: 1402,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.ecommerce',
routes2: routes_ecommerce,
inmenu: true,
onlyif_logged: true,
// onlySocioResidente: true,
solotitle: true,
infooter: true
},
...routes_ecommerce,
{
active: site.confpages && site.confpages.enableEcommerce,
path: '/admin/ecommerce',
order: 1420,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.admin_ecommerce',
routes2: routes_admin_ecommerce,
inmenu: true,
solotitle: true,
onlyAdmin: true,
onlyManager: true,
onlyDepartment: true
},
...routes_admin_ecommerce,
{
active: true,
order: 1000,
path: '/product/:codprod',
materialIcon: 'event',
name: 'otherpages.product',
component: () => import('@/views/ecommerce/productInfo/productInfo.vue'),
inmenu: false,
infooter: false
},
]
return menuEcomm
}
export const routesECommerce = {
routesEcomm: getRoutesEcomm,
}