Files
cnm/src/db/static_data.ts

622 lines
16 KiB
TypeScript
Raw Normal View History

import { Todos, Projects, UserStore } from '@store'
import globalroutines from '../globalroutines/index'
2019-12-28 11:16:53 +01:00
import { date, Screen } from 'quasar'
import { IListRoutes, ILang, IOperators, IPreloadImages } from '../model/index'
2019-12-28 11:16:53 +01:00
import { IFunctionality } from '@src/model/GlobalStore'
import firebase from '@src/error-handler/firebase'
2019-12-28 11:16:53 +01:00
2020-10-17 22:31:18 +02:00
import { RouteNames } from '../router/route-names'
const functionality: IFunctionality = {
2020-10-17 22:31:18 +02:00
PWA: true,
SHOW_USER_MENU: true, // Cambiare con true
SHOW_PROFILE: true,
2020-10-17 22:31:18 +02:00
SHOW_REG_BUTTON: true,
ENABLE_REGISTRATION: true, // Cambiare con true
2020-10-17 22:31:18 +02:00
ENABLE_REG_AYNI: false,
SHOW_NEWSLETTER: false,
SHOW_ONLY_POLICY: true,
ENABLE_TODOS_LOADING: false,
2020-12-21 02:15:34 +01:00
ENABLE_PROJECTS_LOADING: false,
2020-10-17 22:31:18 +02:00
SHOW_IF_IS_SERVER_CONNECTION: true,
SHOW_MESSAGES: false,
2020-12-21 02:15:34 +01:00
BOOKING_EVENTS: true,
ENABLE_ECOMMERCE: true,
}
const routes_admin: IListRoutes[] = [
{
active: true,
order: 1000,
path: '/admin/cfgserv',
materialIcon: 'event_seat',
name: 'pages.Admin',
component: () => import('@/views/admin/cfgServer/cfgServer.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
active: true,
order: 1020,
path: '/admin/dbop',
materialIcon: 'event_seat',
name: 'pages.dbop',
component: () => import('@/views/admin/dbop/dbop.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
2020-10-17 22:31:18 +02:00
}
]
const routes_projects: IListRoutes[] = [
{
active: functionality.ENABLE_PROJECTS_LOADING,
order: 10,
path: '/' + RouteNames.projectsall + '/:idProj',
materialIcon: 'accessibility_new',
name: RouteNames.projectsall,
level_parent: 0.0,
level_child: 0.5,
component: () => import('@/views/projects/proj-list/proj-list.vue'),
inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.ENABLE_PROJECTS_LOADING,
meta: {
requiresAuth: false,
async asyncData() {
// await Todos.actions.dbLoad({ checkPending: false })
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
}
},
idelem: process.env.PROJECT_ID_MAIN
},
{
active: functionality.ENABLE_PROJECTS_LOADING,
order: 20,
path: '/' + RouteNames.myprojects + '/:idProj',
materialIcon: 'accessibility_new',
name: RouteNames.myprojects,
level_parent: 0.0,
level_child: 0.5,
component: () => import('@/views/projects/proj-list/proj-list.vue'),
inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.ENABLE_PROJECTS_LOADING,
meta: {
requiresAuth: false,
async asyncData() {
// await Todos.actions.dbLoad({ checkPending: false })
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
}
},
idelem: process.env.PROJECT_ID_MAIN
},
{
active: functionality.ENABLE_PROJECTS_LOADING,
order: 30,
path: '/' + RouteNames.projectsshared + '/:idProj',
materialIcon: 'accessibility_new',
name: RouteNames.projectsshared,
level_parent: 0.0,
level_child: 0.5,
component: () => import('@/views/projects/proj-list/proj-list.vue'),
inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.ENABLE_PROJECTS_LOADING,
meta: {
requiresAuth: false,
async asyncData() {
// await Todos.actions.dbLoad({ checkPending: false })
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
}
},
idelem: process.env.PROJECT_ID_MAIN
}
]
2020-12-21 02:15:34 +01:00
const routes_ecommerce: IListRoutes[] = [
{
2020-12-25 03:53:36 +01:00
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,
2020-12-21 02:15:34 +01:00
level_child: 0.5,
2020-12-25 03:53:36 +01:00
},
]
const routes_admin_ecommerce: IListRoutes[] = [
{
active: true,
order: 30,
path: '/admin/products',
materialIcon: 'fas fa-file-alt',
name: 'pages.products',
component: () => import('@/rootgen/admin/products/products.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyTraduttrici: true
},
{
active: true,
order: 30,
path: '/admin/producers',
materialIcon: 'fas fa-file-alt',
name: 'pages.producer',
component: () => import('@/rootgen/admin/producer/producer.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyTraduttrici: true
},
{
active: true,
order: 30,
path: '/admin/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,
onlyTraduttrici: true
},
2020-12-21 02:15:34 +01:00
]
const routes_newsletter: IListRoutes[] = [
{
active: true,
order: 10,
2020-10-17 22:31:18 +02:00
name: 'newsletter.template', path: '/admin/newsletter/templemail', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 20,
2020-10-17 22:31:18 +02:00
name: 'newsletter.sendemail', path: '/admin/newsletter/newnewsletter', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 30,
2020-10-17 22:31:18 +02:00
name: 'newsletter.check', path: '/admin/newsletter/check', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 40,
2020-10-17 22:31:18 +02:00
name: 'newsletter.sent', path: '/admin/newsletter/newslist', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 50,
2020-10-17 22:31:18 +02:00
name: 'newsletter.mailinglist', path: '/admin/newsletter/mailinglist', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 60,
2020-10-17 22:31:18 +02:00
name: 'newsletter.settings', path: '/admin/newsletter/settings', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 70,
2020-10-17 22:31:18 +02:00
name: 'newsletter.serversettings', path: '/admin/newsletter/main_settings', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
},
{
active: true,
2019-12-31 00:45:06 +01:00
order: 80,
2020-10-17 22:31:18 +02:00
name: 'newsletter.others', path: '/admin/newsletter/events', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
2020-10-17 22:31:18 +02:00
}
]
const routes_manager: IListRoutes[] = [
2019-12-28 11:16:53 +01:00
{
active: true,
order: 10,
path: '/admin/userlist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.userlist',
component: () => import('@/rootgen/admin/usersList/usersList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyTutor: true
2019-12-28 11:16:53 +01:00
},
2020-01-21 01:37:27 +01:00
{
active: true,
order: 10,
path: '/admin/zoomlist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.zoomlist',
component: () => import('@/rootgen/admin/zoomList/zoomList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyTutor: false
2020-01-21 01:37:27 +01:00
},
2020-03-21 10:29:13 +01:00
{
active: true,
order: 27,
path: '/admin/tableslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.tableslist',
component: () => import('@/rootgen/admin/tablesList/tablesList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
2020-10-17 22:31:18 +02:00
onlyManager: true
2019-12-28 11:16:53 +01:00
},
{
active: true,
order: 30,
path: '/admin/pages',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.pages',
component: () => import('@/rootgen/admin/pages/pages.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyTraduttrici: true
},
{
active: true,
order: 30,
path: '/admin/msg_template',
materialIcon: 'fas fa-file-alt',
name: 'msgs.messages',
component: () => import('@/rootgen/admin/msg_template/msg_template.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
2020-10-17 22:31:18 +02:00
onlyManager: true
// onlyTutor: true
},
{
active: true,
order: 40,
path: '/admin/gallery',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.gallery',
component: () => import('@/rootgen/admin/gallery/gallery.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true
2020-07-11 17:07:53 +02:00
},
{
active: true,
order: 50,
path: '/admin/media',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.media',
component: () => import('@/rootgen/admin/uploader/uploader.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true
2020-07-11 17:07:53 +02:00
},
{
active: true,
order: 60,
path: '/admin/newsletter',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.newsletter',
inmenu: false,
submenu: true,
routes2: routes_newsletter,
solotitle: true,
level_parent: 0.5,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true
},
2020-12-25 03:53:36 +01:00
{
active: functionality.ENABLE_ECOMMERCE,
path: '',
order: 65,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.ecommerce',
routes2: routes_admin_ecommerce,
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
{
active: functionality.BOOKING_EVENTS,
order: 70,
path: '/admin/usereventlist',
materialIcon: 'edit',
name: 'otherpages.admin.usereventlist',
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
infooter: true,
onlyManager: true,
2020-10-17 22:31:18 +02:00
onlyAdmin: true
}
2019-12-28 11:16:53 +01:00
]
const baseroutes: IListRoutes[] = [
2019-12-28 11:16:53 +01:00
{
active: true,
order: 10,
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@/root/home/home.vue'),
inmenu: true,
infooter: true
},
2019-12-31 00:45:06 +01:00
{
active: true,
path: '/separator',
name: 'separator',
order: 50,
isseparator: true,
inmenu: true,
},
{
active: true,
order: 120,
path: '/profile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/profile/profile.vue'),
2020-10-17 22:31:18 +02:00
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 1000,
path: '/admin/newsletter/:idparam',
materialIcon: 'event',
name: 'pages.newsletter.menu',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: false,
infooter: false
},
2019-12-28 11:16:53 +01:00
{
active: true,
order: 1000,
path: '/404error',
materialIcon: 'fas fa-calendar-plus',
name: 'otherpages.error404',
component: () => import('@/root/My404page/My404page.vue'),
inmenu: false,
infooter: false
2020-07-11 17:07:53 +02:00
},
2020-10-17 22:31:18 +02:00
{
2020-12-21 02:15:34 +01:00
active: functionality.ENABLE_PROJECTS_LOADING,
2020-10-17 22:31:18 +02:00
path: '',
order: 10001,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.projects',
routes2: routes_projects,
inmenu: true,
solotitle: true,
infooter: true
},
...routes_projects,
2020-12-21 02:15:34 +01:00
{
active: functionality.ENABLE_ECOMMERCE,
path: '',
2020-12-25 03:53:36 +01:00
order: 1402,
2020-12-21 02:15:34 +01:00
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.ecommerce',
routes2: routes_ecommerce,
inmenu: true,
solotitle: true,
infooter: true
},
2020-12-25 03:53:36 +01:00
...routes_ecommerce,
2019-12-28 11:16:53 +01:00
{
active: true,
order: 2000,
path: '/admin',
materialIcon: 'fas fa-user-shield',
name: 'otherpages.admin.menu',
inmenu: true,
routes2: routes_admin,
solotitle: true,
infooter: true,
onlyAdmin: true
2020-07-11 17:07:53 +02:00
},
...routes_admin,
2020-07-11 17:07:53 +02:00
{
active: true,
order: 2110,
path: '/manage',
materialIcon: 'fas fa-users-cog',
name: 'otherpages.manage.menu',
inmenu: true,
routes2: routes_manager,
solotitle: true,
infooter: true,
onlyAdmin: true,
onlyManager: true,
onlyTutor: true,
onlyTraduttrici: true
},
...routes_manager,
{
active: functionality.SHOW_MESSAGES,
order: 2150,
path: '/messages/:un',
materialIcon: 'fas fa-comment',
name: 'otherpages.messages.menu',
component: () => import('@/views/messages/messages.vue'),
inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.SHOW_MESSAGES,
2020-10-17 22:31:18 +02:00
meta: { requiresAuth: true }
},
2020-10-17 22:31:18 +02:00
// --- NOT IN MENU: ---
2020-10-17 22:31:18 +02:00
{
active: true,
order: 1000,
2020-10-17 22:31:18 +02:00
path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue')
},
{
active: functionality.ENABLE_REGISTRATION,
order: 1000,
path: '/signup',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
component: () => import('@/views/login/signup_complete/signup_complete.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: functionality.ENABLE_REGISTRATION,
order: 2000,
path: '/regok',
materialIcon: 'how_to_reg',
name: 'pages.regok',
component: () => import('@/views/login/regok/regok.vue'),
inmenu: false,
infooter: false,
separator: false
},
2020-10-17 22:31:18 +02:00
/*
{
active: functionality.ENABLE_REGISTRATION,
order: 1000,
path: '/signup/:invited',
materialIcon: 'how_to_reg',
name: 'pages.SignUp2',
component: () => import('@/views/login/signup_complete/signup_complete.vue'),
inmenu: false,
infooter: false,
separator: false
},
*/
2020-07-11 17:07:53 +02:00
{
active: true,
order: 1000,
path: '/signin',
materialIcon: 'account_circle',
name: 'pages.SignIn',
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
inmenu: false,
infooter: true
2019-12-28 11:16:53 +01:00
},
2020-10-17 22:31:18 +02:00
{
active: true,
order: 1000,
path: '/vreg',
name: 'pages.vreg',
component: () => import('@/views/login/vreg/vreg.vue')
},
{
active: true,
order: 1000,
path: '/requestresetpwd',
name: 'pages.requestresetpwd',
component: () => import('@/views/requestresetpwd/requestresetpwd.vue')
},
{
active: true,
order: 1000,
path: '/updatepassword',
name: 'pages.updatepassword',
component: () => import('@/views/updatepassword/updatepassword.vue')
},
{
active: true,
order: 1000,
path: '/offline',
name: 'Offline',
component: () => import('@/views/offline/offline.vue')
}
2019-12-28 11:16:53 +01:00
]
export const routes = baseroutes
const preLoadImages: IPreloadImages[] = [
{ imgname: '../../statics/images/logo.png', alt: 'logo', mobile: false },
2020-10-17 22:31:18 +02:00
{ imgname: '../../statics/icons/flag_it.svg', alt: 'flag it', mobile: false }
// { imgname: '../../statics/images/background.jpg', alt: 'corsi di formazione per operatori del massaggio del benessere', mobile: true },
// { imgname: '../../statics/images/background2.jpg', alt: 'stanza con cuscini per seminario reiki', mobile: true },
// { imgname: '../../statics/images/background3.jpg', alt: 'foto di gruppo seminaristi reiki', mobile: true },
2019-12-28 11:16:53 +01:00
]
export function preloadedimages() {
2019-12-28 11:16:53 +01:00
return [...preLoadImages]
}
const arrLangUsed = [
'it',
2020-10-17 22:31:18 +02:00
'enUs'
]
const lang_available: ILang[] = [
{ label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../statics/icons/flag_it.svg', short: 'IT' },
2020-10-17 22:31:18 +02:00
{ label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../statics/icons/flag_gb.svg', short: 'EN' }
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../statics/images/de.png', short: 'DE' },
]
2019-12-28 11:16:53 +01:00
export const static_data = {
functionality,
2019-12-31 00:45:06 +01:00
baseroutes,
2019-12-28 11:16:53 +01:00
routes,
2020-07-11 17:07:53 +02:00
lang_available,
preLoadImages,
2019-12-28 11:16:53 +01:00
arrLangUsed
}