- Primo CNM

This commit is contained in:
Paolo Arena
2020-10-17 22:31:18 +02:00
parent 2c815a3883
commit a4b7f9e264
73 changed files with 207 additions and 1661 deletions

View File

@@ -7,18 +7,20 @@ import { IListRoutes, ILang, IOperators, IPreloadImages } from '../model/index'
import { IFunctionality } from '@src/model/GlobalStore'
import firebase from '@src/error-handler/firebase'
import { RouteNames } from '../router/route-names'
const functionality: IFunctionality = {
PWA: false,
PWA: true,
SHOW_USER_MENU: true, // Cambiare con true
SHOW_PROFILE: true,
SHOW_REG_BUTTON: false,
SHOW_REG_BUTTON: true,
ENABLE_REGISTRATION: true, // Cambiare con true
ENABLE_REG_AYNI: true,
ENABLE_REG_AYNI: false,
SHOW_NEWSLETTER: false,
SHOW_ONLY_POLICY: true,
ENABLE_TODOS_LOADING: false,
ENABLE_PROJECTS_LOADING: false,
SHOW_IF_IS_SERVER_CONNECTION: false,
ENABLE_PROJECTS_LOADING: true,
SHOW_IF_IS_SERVER_CONNECTION: true,
SHOW_MESSAGES: false,
BOOKING_EVENTS: false
}
@@ -37,19 +39,6 @@ const routes_admin: IListRoutes[] = [
submenu: true,
onlyAdmin: true
},
{
active: true,
order: 1010,
path: '/admin/extralist',
materialIcon: 'event_seat',
name: 'pages.extralist',
component: () => import('@/views/admin/extralist/extralist.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
active: true,
order: 1020,
@@ -62,66 +51,130 @@ const routes_admin: IListRoutes[] = [
inmenu: true,
submenu: true,
onlyAdmin: true
}
]
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
}
]
const routes_newsletter: IListRoutes[] = [
{
active: true,
order: 10,
name: 'newsletter.template', path: '/admin/newsletter/templemail', materialIcon: 'fas fa-users',
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,
order: 20,
name: 'newsletter.sendemail', path: '/admin/newsletter/newnewsletter', materialIcon: 'fas fa-users',
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,
order: 30,
name: 'newsletter.check', path: '/admin/newsletter/check', materialIcon: 'fas fa-users',
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,
order: 40,
name: 'newsletter.sent', path: '/admin/newsletter/newslist', materialIcon: 'fas fa-users',
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,
order: 50,
name: 'newsletter.mailinglist', path: '/admin/newsletter/mailinglist', materialIcon: 'fas fa-users',
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,
order: 60,
name: 'newsletter.settings', path: '/admin/newsletter/settings', materialIcon: 'fas fa-users',
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,
order: 70,
name: 'newsletter.serversettings', path: '/admin/newsletter/main_settings', materialIcon: 'fas fa-users',
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,
order: 80,
name: 'newsletter.others', path: '/admin/newsletter/events', materialIcon: 'fas fa-users',
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
},
}
]
const routes_manager: IListRoutes[] = [
@@ -153,64 +206,6 @@ const routes_manager: IListRoutes[] = [
onlyManager: true,
onlyTutor: false
},
{
active: true,
order: 15,
path: '/admin/showextralist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.extralist',
component: () => import('@/rootgen/admin/extraList/extraList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true
},
{
active: true,
order: 25,
path: '/admin/listaflotte',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.listaflotte',
component: () => import('@/rootgen/admin/listaflotte/listaflotte.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true,
onlyTutor: true
},
{
active: true,
order: 20,
path: '/admin/navi',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.navi',
component: () => import('@/rootgen/admin/allnavi/allnavi.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true,
onlyTutor: true
},
{
active: true,
order: 25,
path: '/admin/listadoni_navi',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.listadoni_navi',
component: () => import('@/rootgen/admin/listadoninavi/listadoninavi.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true,
onlyTutor: true
},
{
active: true,
order: 27,
@@ -223,7 +218,7 @@ const routes_manager: IListRoutes[] = [
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true,
onlyManager: true
},
{
active: true,
@@ -251,7 +246,7 @@ const routes_manager: IListRoutes[] = [
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true,
onlyManager: true
// onlyTutor: true
},
{
@@ -310,7 +305,7 @@ const routes_manager: IListRoutes[] = [
level_child: 0.5,
infooter: true,
onlyManager: true,
onlyAdmin: true,
onlyAdmin: true
}
]
@@ -325,39 +320,6 @@ const baseroutes: IListRoutes[] = [
inmenu: true,
infooter: true
},
{
active: true,
order: 20,
path: '/signup/:invited',
materialIcon: 'how_to_reg',
name: 'pages.presentazione2',
component: () => import('@/root/intro/intro.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: true,
order: 30,
path: '/intro',
materialIcon: 'how_to_reg',
name: 'pages.presentazione',
component: () => import('@/root/intro/intro.vue'),
meta: {requiresAuth: true},
inmenu: true,
infooter: true
},
{
active: false,
order: 40,
path: '/testimonial',
materialIcon: 'fas fa-comments',
name: 'pages.testimonial',
component: () => import('@/root/testimonianze/testimonianze.vue'),
inmenu: true,
infooter: true,
onlyif_logged: false
},
{
active: true,
path: '/separator',
@@ -366,28 +328,6 @@ const baseroutes: IListRoutes[] = [
isseparator: true,
inmenu: true,
},
{
active: true,
order: 100,
path: '/dashboard',
materialIcon: 'fas fa-chalkboard',
name: 'pages.dashboard',
component: () => import('@/views/user/dashboard/dashboard.vue'),
meta: {requiresAuth: true},
inmenu: true,
infooter: true
},
{
active: true,
order: 110,
path: '/invite',
materialIcon: 'fas fa-user-plus',
name: 'pages.invita',
component: () => import('@/root/invite/invite.vue'),
meta: {requiresAuth: true},
inmenu: true,
infooter: true
},
{
active: true,
order: 120,
@@ -395,7 +335,7 @@ const baseroutes: IListRoutes[] = [
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/profile/profile.vue'),
meta: {requiresAuth: true},
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
@@ -419,6 +359,19 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false
},
{
active: true,
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,
{
active: true,
order: 2000,
@@ -457,12 +410,15 @@ const baseroutes: IListRoutes[] = [
component: () => import('@/views/messages/messages.vue'),
inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.SHOW_MESSAGES,
meta: {requiresAuth: true},
meta: { requiresAuth: true }
},
// --- NOT IN MENU: ---
{ active: true,
{
active: true,
order: 1000,
path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue') },
path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue')
},
{
active: functionality.ENABLE_REGISTRATION,
order: 1000,
@@ -485,29 +441,19 @@ const baseroutes: IListRoutes[] = [
infooter: false,
separator: false
},
{
order: 2000,
path: '/invite',
materialIcon: 'how_to_reg',
name: 'pages.regok',
component: () => import('@/root/invite/invite.vue'),
inmenu: false,
infooter: false,
separator: false
},
/*
{
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
},
*/
/*
{
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
},
*/
{
active: true,
order: 1000,
@@ -518,21 +464,41 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: true
},
{ 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') },
{
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')
}
]
export const routes = baseroutes
const preLoadImages: IPreloadImages[] = [
{ imgname: '../../statics/images/logo.png', alt: 'logo', mobile: false },
{ imgname: '../../statics/icons/flag_gb.svg', alt: 'flag us', mobile: false },
{ imgname: '../../statics/icons/flag_it.svg', alt: 'flag it', mobile: false },
{ imgname: '../../statics/icons/flag_es.svg', alt: 'flag es', mobile: false },
{ imgname: '../../statics/icons/flag_fr.svg', alt: 'flag fr', mobile: false },
{ imgname: '../../statics/icons/flag_pt.svg', alt: 'flag pt', mobile: false },
{ 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 },
@@ -543,36 +509,20 @@ export function preloadedimages() {
return [...preLoadImages]
}
const arrLangUsed = [
'it',
'si',
'enUs',
'es',
'pt',
'fr'
'enUs'
]
const lang_available: ILang[] = [
{ label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../statics/icons/flag_it.svg', short: 'IT' },
{ label: 'Slovenski', icon: 'fa-flag-si', value: 'si', image: '../statics/icons/flag_si.svg', short: 'SI' },
{ label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../statics/icons/flag_gb.svg', short: 'EN' },
{ label: 'Español', icon: 'fa-flag-es', value: 'es', image: '../statics/icons/flag_es.svg', short: 'ES' },
{ label: 'Português', icon: 'fa-flag-pt', value: 'pt', image: '../statics/icons/flag_pt.svg', short: 'PT' },
{ label: 'Français', icon: 'fa-flag-fr', value: 'fr', image: '../statics/icons/flag_fr.svg', short: 'FR' },
{ 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' },
]
const costanti = {
videointro: 'https://youtu.be/dbscY8jWDMM',
nascita_ayni: 'https://youtu.be/3JDRkN9z_rM',
paginaspiegazione: 'https://ayni.gifteconomy.app/what/',
}
export const static_data = {
functionality,
baseroutes,
costanti,
routes,
lang_available,
preLoadImages,