Updated riso.app with Site Configuration Parameter

This commit is contained in:
Surya Paolo
2022-11-29 00:16:25 +01:00
parent 58dc1dfdcc
commit 9d32f92589
107 changed files with 738 additions and 1851 deletions

View File

@@ -1,6 +1,6 @@
APP_VERSION="0.5.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"
DIRECTORY_SERVER="freeplanet_serverside"
SERVERDIR_WEBSITE=""
@@ -12,9 +12,9 @@ LANG_DEFAULT="it"
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
MONGODB_HOST="https://localhost:3000"
LOGO_REG='kolibrilab-logo-full.png'
TEST_NAME="Surya"
TEST_SURNAME="Paolo"
LOGO_REG='riso-logo-full.png'
TEST_NAME="Paolo"
TEST_SURNAME="Arena"
TEST_EMAIL=""
TEST_USERNAME=""
TEST_PASSWORD=""

View File

@@ -1,511 +1,26 @@
import {
IListRoutes,
ILang,
IFunctionality,
IPreloadImages,
ISites,
} from '@model'
import { func } from '@store/Modules/fieldsTable'
const functionality: IFunctionality = {
PWA: false,
SHOW_USER_MENU: true, // Cambiare con true
SHOW_PROFILE: true,
SHOW_REG_BUTTON: true,
ENABLE_REGISTRATION: true,
ENABLE_REG_BY_BOT: false,
ENABLE_REG_NEED_TELEGRAM: false,
SHOW_NEWSLETTER: false,
SHOW_ONLY_POLICY: true,
ENABLE_TODOS_LOADING: false,
ENABLE_PROJECTS_LOADING: false,
SHOW_IF_IS_SERVER_CONNECTION: false,
SHOW_MESSAGES: false,
SHOW_NOTIF: false,
SHOW_COINS: false,
BOOKING_EVENTS: false,
ENABLE_ECOMMERCE: false,
ENABLE_REG_ISP: true,
ENABLE_GROUPS: false,
ENABLE_CIRCUITS: false,
SHOW_COMPETENZE: false,
ENABLE_VIEW_GROUPS: false,
ENABLE_VIEW_USERS: false,
ENABLE_VIEW_PROFILE: true,
}
// const SHOW_PROJINTHEMENU = false
//
// let arrlistafavourite = []
// let arrlistaprojtutti = []
// let arrlistaprojmiei = []
// if (SHOW_PROJINTHEMENU) {
// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall)
// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects)
// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects)
// }
// PROGETTI -> FAVORITI :
// if (arrlistafavourite.length > 0) {
// arrMenu.push({
// icon: 'favorite_border',
// nametranslate: 'pages.' + RouteNames.favouriteprojects,
// urlroute: RouteNames.favouriteprojects,
// level_parent: 0.0,
// level_child: 0.5,
// routes2: arrlistafavourite,
// idelem: ''
// })
// }
const routes_todo: IListRoutes[] = []
const arrlista = [
{ nametranslate: 'personal', description: 'personal' },
{ nametranslate: 'work', description: 'work' },
{ nametranslate: 'shopping', description: 'shopping' },
]
const routes_admin: IListRoutes[] = [
{
active: true,
order: 10,
path: '/admin/sites',
materialIcon: 'event_seat',
name: 'pages.Sites',
component: () => import('@/rootgen/admin/sites/sites.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
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
},
{
active: true,
order: 1040,
path: '/admin/importfile',
materialIcon: 'event_seat',
name: 'otherpages.manage.importfile',
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
}
]
const routes_newsletter: IListRoutes[] = [
{
active: true,
order: 10,
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, noroute: true
},
{
active: true,
order: 20,
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, noroute: true
},
{
active: true,
order: 30,
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, noroute: true
},
{
active: true,
order: 40,
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, noroute: true
},
{
active: true,
order: 50,
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, noroute: true
},
{
active: true,
order: 60,
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, noroute: true
},
{
active: true,
order: 70,
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, noroute: true
},
{
active: true,
order: 80,
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, noroute: true
}
]
const routes_ris: IListRoutes[] = [
{
active: true,
order: 10,
path: '/admin/ris/circuitslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.circuitslist',
component: () => import('@/rootgen/admin/circuitsList/circuitsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
{
active: true,
order: 20,
path: '/admin/ris/accountslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.accountslist',
component: () => import('@/rootgen/admin/accountsList/accountsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
{
active: true,
order: 30,
path: '/admin/ris/movslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.movslist',
component: () => import('@/rootgen/admin/movsList/movsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
]
const routes_manager: IListRoutes[] = [
{
active: functionality.BOOKING_EVENTS,
order: 70,
path: '/admin/usereventlist',
materialIcon: 'edit',
name: 'otherpages.admin.usereventlist',
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
inmenu: functionality.BOOKING_EVENTS,
submenu: functionality.BOOKING_EVENTS,
level_parent: 0,
level_child: 0.5,
infooter: false,
onlyManager: true,
onlyConsiglio: true,
onlyAdmin: true
},
{
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,
onlyFacilitatore: true
},
{
active: true,
order: 10,
path: '/admin/userpanel',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.userpanel',
component: () => import('@/rootgen/admin/userPanel/userPanel.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
/*
{
active: true,
order: 10,
path: '/admin/iscritticonacreis',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.iscritticonacreis',
component: () => import('@/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
*/
{
active: true,
path: '/admin/ris',
order: 60,
faIcon: 'fa fa-list-alt',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.monete',
routes2: routes_ris,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
{
active: false,
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,
onlyFacilitatore: false
},
{
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,
onlyManager: true
},
{
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,
onlyEditor: true
},
{
active: true,
order: 32,
path: '/admin/home',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.elems',
component: () => import('@/rootgen/admin/editElems/editElems.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/bot',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.bot',
component: () => import('@/rootgen/admin/bot/bot.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/confsite',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.confsite',
component: () => import('@/rootgen/admin/confsite/confsite.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
path: '/admin/newsletter',
order: 60,
faIcon: 'fa fa-list-alt',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.newsletter',
routes2: routes_newsletter,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
/*
{
active: functionality.ENABLE_ECOMMERCE,
path: '/admin/ecommerce',
order: 31,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.admin_ecommerce',
routes2: routes_admin_ecommerce,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true,
onlyDepartment: true
},
*/
{
active: true,
order: 35,
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,
onlyManager: true
// onlyFacilitatore: true
},
{
active: true,
order: 1030,
path: '/admin/sendpushnotif',
materialIcon: 'event_seat',
name: 'otherpages.manage.sendpushnotif',
component: () => import('@/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true,
onlyManager: 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
},
{
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
},
]
const baseroutes: IListRoutes[] = [
{
const firstPage = {
active: true,
order: 5,
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root_spec/home_kolibrilab/home_kolibrilab.vue'),
component: () => import('@src/root/home/home.vue'),
reqauth: false,
inmenu: true,
infooter: true,
},
/*{
active: true,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},*/
}
function getDynamicPages(site: ISites): IListRoutes[] {
const baseroutes: IListRoutes[] = [
firstPage,
{
active: true,
order: 120,
@@ -517,28 +32,6 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false,
},
{
active: functionality.ENABLE_GROUPS,
order: 132,
path: '/groups',
materialIcon: 'fas fa-users',
name: 'mypages.groups',
component: () => import('@/views/user/mygroups/mygroups.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: functionality.ENABLE_CIRCUITS,
order: 133,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 135,
@@ -550,305 +43,10 @@ const baseroutes: IListRoutes[] = [
inmenu: false,
infooter: false,
},
{
active: true,
order: 136,
path: '/grp/:groupname',
materialIcon: 'fas fa-user',
name: 'proj.group2',
component: () => import('@/views/user/mygroup/mygroup.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
}, {
active: true,
order: 137,
path: '/circuit/:path',
materialIcon: 'fas fa-user',
name: 'proj.circuit2',
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 130,
path: '/mypage/:idBacheca',
materialIcon: 'fas fa-user',
name: 'pages.mypage2',
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 130,
path: '/myservice/:idSkill',
materialIcon: '',
name: 'pages.myservice2',
component: () => import('@/views/user/myservice/myservice.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 135,
path: '/myhosps/:idHosp',
materialIcon: '',
name: 'pages.myhosps2',
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 132,
path: '/mygood/:idGood',
materialIcon: '',
name: 'pages.mygood2',
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 200,
path: '/notifs',
materialIcon: 'fas fa-user',
name: 'pages.notifs',
component: () => import('@/views/user/usernotifs/usernotifs.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 400,
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@/views/testServer/testServer.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 15,
path: '/provapao',
materialIcon: 'fas fa-house-user',
name: 'mypages.provapao',
component: () => import('@/root/provapao/provapao.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 400,
path: '/testlocal',
materialIcon: 'fas fa-test',
name: 'mypages.TestLocal',
component: () => import('@/views/test/test.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 2000,
path: '/admin',
materialIcon: 'fas fa-user-shield',
name: 'otherpages.admin.menu',
inmenu: true,
routes2: routes_admin,
solotitle: true,
infooter: false,
onlyAdmin: true
},
...routes_admin,
{
active: true,
order: 2110,
path: '/manage',
materialIcon: 'fas fa-users-cog',
name: 'otherpages.manage.menu',
inmenu: true,
routes2: routes_manager,
solotitle: true,
infooter: false,
onlyAdmin: true,
onlyManager: true,
onlyFacilitatore: true,
onlyEditor: true
},
...routes_manager,
{
active: true,
order: 1000,
path: '/404error',
materialIcon: 'fas fa-calendar-plus',
name: 'otherpages.error404',
component: () => import('@/root/My404page/My404page.vue'),
inmenu: false,
infooter: false
},
]
{
active: true,
order: 2000,
path: '/policy',
materialIcon: 'fas fa-user',
name: 'pages.policy',
component: () => import('@src/root/policy/policy.vue'),
inmenu: false,
infooter: true
},
{
active: functionality.ENABLE_REG_BY_BOT,
order: 1000,
path: '/bot',
materialIcon: 'how_to_reg',
name: 'pages.SignUpBot',
inmenu: functionality.ENABLE_REG_BY_BOT,
infooter: functionality.ENABLE_REG_BY_BOT,
separator: false
},
{
active: functionality.ENABLE_REGISTRATION && !functionality.ENABLE_REG_NEED_TELEGRAM,
order: 1000,
path: '/signup',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: true,
order: 1001,
path: '/signup/:invited',
materialIcon: 'how_to_reg',
name: 'pages.SignUp2',
component: () => import('@/views/login/signup/signup.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,
},
{
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
},
// --- NOT IN MENU: ---
{
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,
path: '/separator',
name: 'separator',
order: 35,
isseparator: true,
inmenu: true,
},
/*{
active: true,
order: 80,
path: '/calendario-eventi',
materialIcon: 'event',
name: 'ris.calendario_eventi_riso',
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
extraclass: 'isCalendar',
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
},
{
active: true,
order: 90,
path: '/event/:typol/:eventid',
materialIcon: 'event',
name: 'pages.evento',
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},
{
active: true,
order: 110,
path: '/event/:typol',
materialIcon: 'event',
name: 'pages.eventodef',
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},
]
const arrLangUsed = [
'it',
// 'enUs',
// 'es',
]
return baseroutes
}
export function firstimagehome() {
@@ -856,34 +54,20 @@ export function firstimagehome() {
return img
}
const lang_available: ILang[] = [
{
label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../images/it.png', short: 'IT',
},
/*{
label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../images/gb.png', short: 'EN',
},
{
label: 'Español', icon: 'fa-flag-es', value: 'es', image: '../images/es.png', short: 'ES',
},
*/
// { label: 'Français', icon: 'fa-facebook', value: 'fr', image: '../public/images/fr.png', short: 'FR' }
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../public/images/de.png', short: 'DE' },
]
const preLoadImages: IPreloadImages[] = []
export const lang_available: ILang[] = []
export const arrLangUsed: string[] = []
export const preloadedimages = []
export const routes = baseroutes
export const routes: IListRoutes[] = [firstPage]
export const static_data = {
baseroutes,
routes,
functionality,
arrLangUsed,
getDynamicPages,
lang_available,
preLoadImages,
arrLangUsed,
preloadedimages,
}

View File

@@ -18,59 +18,61 @@
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m pwa",
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
"spanorefresh": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@quasar/extras": "^1.15.2",
"@quasar/extras": "^1.15.5",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.13",
"@vue-leaflet/vue-leaflet": "^0.6.1",
"@vue/compat": "^3.2.38",
"@vue/compiler-sfc": "^3.2.38",
"@vue/compat": "^3.2.45",
"@vue/compiler-sfc": "^3.2.45",
"@vue/eslint-config-standard": "7.0.0",
"@vuelidate/core": "^2.0.0-alpha.44",
"@vuelidate/validators": "^2.0.0-alpha.31",
"acorn": "^8.8.0",
"autoprefixer": "^10.4.8",
"axios": "^0.27.2",
"@vuelidate/core": "^2.0.0",
"@vuelidate/validators": "^2.0.0",
"acorn": "^8.8.1",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.13",
"axios": "^1.1.3",
"bcryptjs": "^2.4.3",
"chart.js": "^3.9.1",
"core-js": "^3.25.0",
"date-fns": "^2.29.2",
"dotenv": "^16.0.2",
"echarts": "^5.3.3",
"core-js": "^3.26.0",
"date-fns": "^2.29.3",
"dotenv": "^16.0.3",
"echarts": "^5.4.0",
"eslint-plugin-quasar": "^1.1.0",
"eslint-plugin-standard": "^5.0.0",
"graphql": "^16.6.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.11.1",
"gsap": "^3.11.3",
"jquery": "^3.6.1",
"js-cookie": "^3.0.1",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^8.19.1",
"npm": "^9.1.1",
"nprogress": "^0.2.0",
"pinia": "^2.0.22",
"pinia": "^2.0.23",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.7.7",
"quasar": "^2.10.1",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"vee-validate": "^4.6.7",
"vue": "^3.2.38",
"vee-validate": "^4.7.2",
"vue": "^3.2.45",
"vue-chart-3": "^3.1.8",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^6.2.3",
"vue-i18n": "^9.2.2",
"vue-idb": "^0.2.0",
"vue-loader": "^17.0.0",
"vue-loader": "^17.0.1",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.1.5",
"vue-router": "^4.1.6",
"vue-scroll-reveal": "^1.0.11",
"vue-svgicon": "^4.0.0-alpha.3",
"vue2-dragula": "^2.5.5",
"vuex": "^4.0.2",
"vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1"
},
"devDependencies": {
@@ -78,41 +80,41 @@
"@types/bcryptjs": "^2.4.2",
"@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3",
"@types/jest": "^29.0.0",
"@types/jest": "^29.2.2",
"@types/js-cookie": "^3.0.2",
"@types/node": "18.7.15",
"@types/node": "18.11.9",
"@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.15",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"eslint": "^8.23.0",
"@typescript-eslint/eslint-plugin": "^5.42.1",
"@typescript-eslint/parser": "^5.42.1",
"eslint": "^8.27.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.0.1",
"eslint-plugin-vue": "^9.4.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.7.0",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0",
"http-proxy-middleware": "^2.0.6",
"jest": "^29.0.2",
"jest": "^29.3.1",
"json-loader": "^0.5.7",
"node-sass": "7.0.1",
"npm-check-updates": "^16.1.0",
"npm-check-updates": "^16.3.25",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"postcss": "^8.4.16",
"postcss": "^8.4.19",
"postcss-loader": "^7.0.1",
"sass-loader": "^13.0.2",
"sass-loader": "^13.2.0",
"strip-ansi": "=7.0.1",
"ts-jest": "^28.0.8",
"ts-loader": "^9.3.1",
"ts-jest": "^29.0.3",
"ts-loader": "^9.4.1",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^4.8.2",
"typescript": "^4.8.4",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"webpack": "^5.74.0",
"webpack": "^5.75.0",
"workbox-webpack-plugin": "^6.5.4"
},
"browser": {

View File

@@ -3,7 +3,7 @@
* the ES6 features that are supported by your Node version. https://node.green/
*/
// Configuration for your app
// Configuration for your appanimated
// https://v2.quasar.dev/quasar-cli/quasar-conf-js
/* eslint-env node */
@@ -149,6 +149,7 @@ module.exports = configure((ctx) => ({
https: false,
port: 8090,
open: false, // opens browser window automatically
// vueDevtools: true,
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
@@ -247,9 +248,9 @@ module.exports = configure((ctx) => ({
lang: 'it', // Quasar language
},
// animations: 'all', // --- includes all animations
animations: 'all', // --- includes all animations
// https://v2.quasar.dev/options/animations
animations: [],
// animations: [],
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
ssr: {

View File

@@ -1,37 +1,11 @@
import {
IListRoutes,
ILang,
IFunctionality,
IPreloadImages,
ISites,
} from '@model'
import { func } from '@store/Modules/fieldsTable'
const functionality: IFunctionality = {
PWA: true,
SHOW_USER_MENU: true, // Cambiare con true
SHOW_PROFILE: true,
SHOW_REG_BUTTON: true,
ENABLE_REGISTRATION: true,
ENABLE_REG_BY_BOT: true,
ENABLE_REG_NEED_TELEGRAM: true,
SHOW_NEWSLETTER: false,
SHOW_ONLY_POLICY: true,
ENABLE_TODOS_LOADING: false,
ENABLE_PROJECTS_LOADING: false,
SHOW_IF_IS_SERVER_CONNECTION: false,
SHOW_MESSAGES: false,
SHOW_NOTIF: true,
SHOW_COINS: true,
BOOKING_EVENTS: true,
ENABLE_ECOMMERCE: false,
ENABLE_REG_ISP: true,
ENABLE_GROUPS: true,
ENABLE_CIRCUITS: true,
SHOW_COMPETENZE: true,
ENABLE_VIEW_GROUPS: true,
ENABLE_VIEW_USERS: true,
ENABLE_VIEW_PROFILE: true,
}
// const SHOW_PROJINTHEMENU = false
//
@@ -57,435 +31,20 @@ const functionality: IFunctionality = {
// })
// }
const firstPage = {
active: true,
order: 5,
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
}
function getDynamicPages(site: ISites): IListRoutes[] {
const routes_todo: IListRoutes[] = []
const arrlista = [
{ nametranslate: 'personal', description: 'personal' },
{ nametranslate: 'work', description: 'work' },
{ nametranslate: 'shopping', description: 'shopping' },
]
const routes_admin: IListRoutes[] = [
{
active: true,
order: 10,
path: '/admin/sites',
materialIcon: 'event_seat',
name: 'pages.Sites',
component: () => import('@/rootgen/admin/sites/sites.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
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
},
{
active: true,
order: 1040,
path: '/admin/importfile',
materialIcon: 'event_seat',
name: 'otherpages.manage.importfile',
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
}
]
const routes_newsletter: IListRoutes[] = [
{
active: true,
order: 10,
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, noroute: true
},
{
active: true,
order: 20,
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, noroute: true
},
{
active: true,
order: 30,
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, noroute: true
},
{
active: true,
order: 40,
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, noroute: true
},
{
active: true,
order: 50,
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, noroute: true
},
{
active: true,
order: 60,
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, noroute: true
},
{
active: true,
order: 70,
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, noroute: true
},
{
active: true,
order: 80,
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, noroute: true
}
]
const routes_ris: IListRoutes[] = [
{
active: true,
order: 10,
path: '/admin/ris/circuitslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.circuitslist',
component: () => import('@/rootgen/admin/circuitsList/circuitsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
{
active: true,
order: 20,
path: '/admin/ris/accountslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.accountslist',
component: () => import('@/rootgen/admin/accountsList/accountsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
{
active: true,
order: 30,
path: '/admin/ris/movslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.movslist',
component: () => import('@/rootgen/admin/movsList/movsList.vue'),
inmenu: true,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
]
const routes_manager: IListRoutes[] = [
{
active: site.confpages.bookingEventsfunctionality.BOOKING_EVENTS,
order: 70,
path: '/admin/usereventlist',
materialIcon: 'edit',
name: 'otherpages.admin.usereventlist',
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
inmenu: site.confpages.bookingEvents,
submenu: site.confpages.bookingEvents,
level_parent: 0,
level_child: 0.5,
infooter: false,
onlyManager: true,
onlyConsiglio: true,
onlyAdmin: true
},
{
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,
onlyFacilitatore: true
},
{
active: true,
order: 10,
path: '/admin/userpanel',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.userpanel',
component: () => import('@/rootgen/admin/userPanel/userPanel.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
/*
{
active: true,
order: 10,
path: '/admin/iscritticonacreis',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.iscritticonacreis',
component: () => import('@/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyFacilitatore: true
},
*/
{
active: true,
path: '/admin/ris',
order: 60,
faIcon: 'fa fa-list-alt',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.monete',
routes2: routes_ris,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
{
active: false,
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,
onlyFacilitatore: false
},
{
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,
onlyManager: true
},
{
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,
onlyEditor: true
},
{
active: true,
order: 32,
path: '/admin/home',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.elems',
component: () => import('@/rootgen/admin/editElems/editElems.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/bot',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.bot',
component: () => import('@/rootgen/admin/bot/bot.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
order: 30,
path: '/admin/confsite',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.confsite',
component: () => import('@/rootgen/admin/confsite/confsite.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{
active: true,
path: '/admin/newsletter',
order: 60,
faIcon: 'fa fa-list-alt',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.newsletter',
routes2: routes_newsletter,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
/*
{
active: functionality.ENABLE_ECOMMERCE,
path: '/admin/ecommerce',
order: 31,
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.admin_ecommerce',
routes2: routes_admin_ecommerce,
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true,
onlyDepartment: true
},
*/
{
active: true,
order: 35,
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,
onlyManager: true
// onlyFacilitatore: true
},
{
active: true,
order: 1030,
path: '/admin/sendpushnotif',
materialIcon: 'event_seat',
name: 'otherpages.manage.sendpushnotif',
component: () => import('@/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true,
onlyManager: 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
},
{
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
},
]
const baseroutes: IListRoutes[] = [
{
active: true,
@@ -598,7 +157,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: true,
},
{
active: site.confpages.enableGroups,
active: site.confpages && site.confpages.enableGroups,
order: 132,
path: '/groups',
materialIcon: 'fas fa-users',
@@ -609,7 +168,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: true,
},
{
active: site.confpages.enableCircuits,
active: site.confpages && site.confpages.enableCircuits,
order: 133,
path: '/circuits',
materialIcon: 'fas fa-coins',
@@ -705,211 +264,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
{
active: true,
order: 200,
path: '/notifs',
materialIcon: 'fas fa-user',
name: 'pages.notifs',
component: () => import('@/views/user/usernotifs/usernotifs.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 400,
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@/views/testServer/testServer.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 400,
path: '/testlocal',
materialIcon: 'fas fa-test',
name: 'mypages.TestLocal',
component: () => import('@/views/test/test.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 2000,
path: '/admin',
materialIcon: 'fas fa-user-shield',
name: 'otherpages.admin.menu',
inmenu: true,
routes2: routes_admin,
solotitle: true,
infooter: false,
onlyAdmin: true
},
...routes_admin,
{
active: true,
order: 2110,
path: '/manage',
materialIcon: 'fas fa-users-cog',
name: 'otherpages.manage.menu',
inmenu: true,
routes2: routes_manager,
solotitle: true,
infooter: false,
onlyAdmin: true,
onlyManager: true,
onlyFacilitatore: true,
onlyEditor: true
},
...routes_manager,
{
active: true,
order: 1000,
path: '/404error',
materialIcon: 'fas fa-calendar-plus',
name: 'otherpages.error404',
component: () => import('@/root/My404page/My404page.vue'),
inmenu: false,
infooter: false
},
{
active: true,
order: 2000,
path: '/policy',
materialIcon: 'fas fa-user',
name: 'pages.policy',
component: () => import('@src/root/policy/policy.vue'),
inmenu: false,
infooter: true
},
{
active: site.confpages.enableRegByBot && site.confpages.enabledRegNeedTelegram,
order: 1000,
path: '/signup/:invited/:usernameteleg/:idteleg/:regexpire',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: site.confpages.enableRegByBot && site.confpages.enabledRegNeedTelegram,
order: 1000,
path: '/signup/:invited/:usernameteleg/:idteleg',
materialIcon: 'how_to_reg',
name: 'pages.SignUp4',
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: site.confpages.enableRegByBot,
order: 1000,
path: '/bot',
materialIcon: 'how_to_reg',
name: 'pages.SignUpBot',
inmenu: site.confpages.enableRegByBot,
infooter: site.confpages.enableRegByBot,
separator: false
},
/*{
active: site.confpages.enableRegByBot && !functionality.ENABLE_REG_NEED_TELEGRAM,
order: 1000,
path: '/signup',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
component: () => import('@/views/login/signup/signup_noteleg.vue'),
inmenu: false,
infooter: false,
separator: false
},*/
{
active: true,
order: 1001,
path: '/signup/:invited',
materialIcon: 'how_to_reg',
name: 'pages.SignUp2',
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: true,
order: 1002,
path: '/signup/:invited/:regexpire',
materialIcon: 'how_to_reg',
name: 'pages.SignUp3',
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
separator: false
},
{
active: site.confpages.enableRegByBot,
order: 2000,
path: '/regok',
materialIcon: 'how_to_reg',
name: 'pages.regok',
component: () => import('@/views/login/regok/regok.vue'),
inmenu: false,
infooter: false,
separator: false,
},
{
active: true,
order: 1000,
path: '/signin',
materialIcon: 'account_circle',
name: 'pages.SignIn',
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
inmenu: true,
infooter: true
},
// --- NOT IN MENU: ---
{
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,
path: '/separator',
name: 'separator',
order: 35,
isseparator: true,
inmenu: true,
},
{
active: true,
order: 80,
@@ -921,82 +275,31 @@ function getDynamicPages(site: ISites): IListRoutes[] {
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
},
{
active: true,
order: 90,
path: '/event/:typol/:eventid',
materialIcon: 'event',
name: 'pages.evento',
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},
{
active: true,
order: 110,
path: '/event/:typol',
materialIcon: 'event',
name: 'pages.eventodef',
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},
]
return baseroutes
}
const arrLangUsed = [
'it',
// 'enUs',
// 'es',
]
export function firstimagehome() {
let img = 'statics/images/background.jpg'
return img
}
const lang_available: ILang[] = [
{
label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../images/it.png', short: 'IT',
},
/*{
label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../images/gb.png', short: 'EN',
},
{
label: 'Español', icon: 'fa-flag-es', value: 'es', image: '../images/es.png', short: 'ES',
},
*/
// { label: 'Français', icon: 'fa-facebook', value: 'fr', image: '../public/images/fr.png', short: 'FR' }
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../public/images/de.png', short: 'DE' },
]
const preLoadImages: IPreloadImages[] = []
export const lang_available: ILang[] = []
export const arrLangUsed: string[] = []
export const preloadedimages = []
export const routes: IListRoutes[] = []
export const routes: IListRoutes[] = [firstPage]
export const static_data = {
routes,
arrLangUsed,
getDynamicPages,
functionality,
lang_available,
preLoadImages,
arrLangUsed,
preloadedimages,
}

View File

@@ -174,7 +174,7 @@
</div>
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
<q-carousel
swipeable

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 190 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@@ -125,7 +125,7 @@
</div>
<section class="padding_gallery bg-white text-grey-10 text-center">
<section :class="$q.dark.isActive ? `bg-black` : `bg-white` + ` padding_gallery text-grey-10 text-center`">
<q-carousel
swipeable

View File

@@ -1,9 +1,9 @@
{
"name": "kolibrilab",
"name": "riso",
"version": "0.5.3",
"description": "kolibrilab",
"productName": "kolibrilab",
"author": "Surya Paolo",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",
"private": true,
"keywords": [],
"license": "MIT",
@@ -18,61 +18,60 @@
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m pwa",
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
"spanorefresh": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@quasar/extras": "^1.15.5",
"@quasar/extras": "^1.15.2",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.13",
"@vue-leaflet/vue-leaflet": "^0.6.1",
"@vue/compat": "^3.2.45",
"@vue/compiler-sfc": "^3.2.45",
"@vue/compat": "^3.2.38",
"@vue/compiler-sfc": "^3.2.38",
"@vue/eslint-config-standard": "7.0.0",
"@vuelidate/core": "^2.0.0",
"@vuelidate/validators": "^2.0.0",
"acorn": "^8.8.1",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.13",
"axios": "^1.1.3",
"@vuelidate/core": "^2.0.0-alpha.44",
"@vuelidate/validators": "^2.0.0-alpha.31",
"acorn": "^8.8.0",
"autoprefixer": "^10.4.8",
"axios": "^0.27.2",
"bcryptjs": "^2.4.3",
"chart.js": "^3.9.1",
"core-js": "^3.26.0",
"date-fns": "^2.29.3",
"dotenv": "^16.0.3",
"echarts": "^5.4.0",
"core-js": "^3.25.0",
"crypto": "^1.0.1",
"date-fns": "^2.29.2",
"dotenv": "^16.0.2",
"echarts": "^5.3.3",
"eslint-plugin-quasar": "^1.1.0",
"eslint-plugin-standard": "^5.0.0",
"graphql": "^16.6.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.11.3",
"gsap": "^3.11.1",
"jquery": "^3.6.1",
"js-cookie": "^3.0.1",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^9.1.1",
"npm": "^8.19.1",
"nprogress": "^0.2.0",
"pinia": "^2.0.23",
"pinia": "^2.0.22",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.10.1",
"quasar": "^2.7.7",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"vee-validate": "^4.7.2",
"vue": "^3.2.45",
"vee-validate": "^4.6.7",
"vue": "^3.2.38",
"vue-chart-3": "^3.1.8",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^6.2.3",
"vue-i18n": "^9.2.2",
"vue-idb": "^0.2.0",
"vue-loader": "^17.0.1",
"vue-loader": "^17.0.0",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.1.6",
"vue-router": "^4.1.5",
"vue-scroll-reveal": "^1.0.11",
"vue-svgicon": "^4.0.0-alpha.3",
"vue2-dragula": "^2.5.5",
"vuex": "^4.1.0",
"vuex": "^4.0.2",
"vuex-router-sync": "^6.0.0-rc.1"
},
"devDependencies": {
@@ -80,41 +79,41 @@
"@types/bcryptjs": "^2.4.2",
"@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3",
"@types/jest": "^29.2.2",
"@types/jest": "^29.0.0",
"@types/js-cookie": "^3.0.2",
"@types/node": "18.11.9",
"@types/node": "18.7.15",
"@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.15",
"@typescript-eslint/eslint-plugin": "^5.42.1",
"@typescript-eslint/parser": "^5.42.1",
"eslint": "^8.27.0",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"eslint": "^8.23.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.7.0",
"eslint-plugin-promise": "^6.0.1",
"eslint-plugin-vue": "^9.4.0",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0",
"http-proxy-middleware": "^2.0.6",
"jest": "^29.3.1",
"jest": "^29.0.2",
"json-loader": "^0.5.7",
"node-sass": "7.0.1",
"npm-check-updates": "^16.3.25",
"npm-check-updates": "^16.1.0",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"postcss": "^8.4.19",
"postcss": "^8.4.16",
"postcss-loader": "^7.0.1",
"sass-loader": "^13.2.0",
"sass-loader": "^13.0.2",
"strip-ansi": "=7.0.1",
"ts-jest": "^29.0.3",
"ts-loader": "^9.4.1",
"ts-jest": "^28.0.8",
"ts-loader": "^9.3.1",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^4.8.4",
"typescript": "^4.8.2",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"webpack": "^5.75.0",
"webpack": "^5.74.0",
"workbox-webpack-plugin": "^6.5.4"
},
"browser": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -3,7 +3,7 @@
* the ES6 features that are supported by your Node version. https://node.green/
*/
// Configuration for your appanimated
// Configuration for your app
// https://v2.quasar.dev/quasar-cli/quasar-conf-js
/* eslint-env node */
@@ -147,9 +147,8 @@ module.exports = configure((ctx) => ({
},
devServer: {
https: false,
port: 8090,
port: 8084,
open: false, // opens browser window automatically
// vueDevtools: true,
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
@@ -248,9 +247,9 @@ module.exports = configure((ctx) => ({
lang: 'it', // Quasar language
},
animations: 'all', // --- includes all animations
// animations: 'all', // --- includes all animations
// https://v2.quasar.dev/options/animations
// animations: [],
animations: [],
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
ssr: {
@@ -276,6 +275,77 @@ module.exports = configure((ctx) => ({
},
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxOptions: {}, // only for GenerateSW
extendGenerateSWOptions (cfg) {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
chainWebpackCustomSW(chain) {
// chain.plugin('eslint-webpack-plugin')
// .use(ESLintPlugin, [{ extensions: ['js'] }])
},
manifest: {
name: 'Riso',
short_name: 'Riso',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
display: 'standalone',
orientation: 'portrait',
background_color: '#ffffff',
theme_color: '#027be3',
icons: [
{
src: 'images/riso-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/riso-android-icon-384x384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: 'images/riso-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/riso-android-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/riso-android-icon-96x96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-120x120.png',
sizes: '120x120',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-152x152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-180x180.png',
sizes: '180x180',
type: 'image/png',
},
],
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
cordova: {
@@ -289,5 +359,37 @@ module.exports = configure((ctx) => ({
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
electron: {
bundler: 'packager', // 'packager' or 'builder'
packager: {
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
// OS X / Mac App Store
// appBundleId: '',
// appCategoryType: '',
// osxSign: '',
// protocol: 'myapp://path',
// Windows only
// win32metadata: { ... }
},
builder: {
// https://www.electron.build/configuration/configuration
appId: 'Riso',
},
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
chainWebpack(/* chain */) {
// do something with the Electron main process Webpack cfg
// extendWebpackMain also available besides this chainWebpackMain
},
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
chainWebpackPreload(/* chain */) {
// do something with the Electron main process Webpack cfg
// extendWebpackPreload also available besides this chainWebpackPreload
},
},
}))

View File

@@ -36,7 +36,7 @@ export default {
const site = computed(() => globalStore.site)
watch(() => finishLoading.value, (newval: boolean, oldval: boolean) => {
console.log('watch finished', newval)
// console.log('watch finished', newval)
if (newval) {
tools.updateFonts()

View File

@@ -1,6 +1,6 @@
<template>
<div class="q-ma-sm">
<div class="bg-white column cursor-pointer" @click="copytoclip">
<div :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` column cursor-pointer`" @click="copytoclip">
<q-field outlined :label="title" stack-label class="text-center cursor-pointer" label-color="blue">
<template v-slot:prepend v-if="!tools.isMobile()">
<q-btn round dense flat icon="far fa-copy"/>

View File

@@ -22,7 +22,6 @@ $graytext: #555;
}
.flex-container {
background-color: #ccc;
padding: 10px;
display: flex;
flex-direction: row;
@@ -33,12 +32,12 @@ $graytext: #555;
background-color: #9f9f9f;
padding: 10px;
margin: 10px;
color: #fff;
// color: #fff;
font-size: 1rem;
}
.cal {
color: black;
// color: black;
font-size: 0.75rem;
font-weight: 400;
line-height: 1.25rem;
@@ -118,14 +117,12 @@ $graytext: #555;
}
.listaev {
color: black;
font-size: 0.75rem;
font-weight: 400;
line-height: 1.25rem;
letter-spacing: 0.03333em;
&__date {
color: #061220;
font-size: 1rem;
}
@@ -139,6 +136,10 @@ $graytext: #555;
color: black;
}
&__details_darktheme {
color: white;
}
&__tdimg {
width: 150px;
height: 150px;
@@ -164,7 +165,7 @@ $graytext: #555;
}
&__table tr:hover {
background-color: #deecef;
// background-color: #deecef;
}
&__align_center_mobile {
@@ -287,7 +288,7 @@ $graytext: #555;
}
.mysel {
color: white;
color: skyblue;
}
.myflex {

View File

@@ -1021,6 +1021,7 @@ export default defineComponent({
editEvent,
EState,
CancelBookingEvent,
site: globalStore.site,
}
}
})

View File

@@ -62,7 +62,7 @@
class="shadow-5 q-mb-md" dense>
{{ myevent.title }}
</q-chip>
<div class="cal__details" v-html="myevent.details"></div>
<div :class="`cal__details`+ ($q.dark.isActive ? `_darktheme`: ``)" v-html="myevent.details"></div>
<div v-if="myevent.teacher" class="cal__teacher">
<span class="cal__teacher-title">{{ $t('cal.teacher') }}: <span
class="margin_with"></span></span>
@@ -820,7 +820,7 @@
<div style="margin: 10px;"></div>
<p class="listaev__details" v-html="event.details"></p>
<p :class="`listaev__details` + $q.dark.isActive ? `_darktheme`: ``" v-html="event.details"></p>
<div v-if="event.teacher" class="">
<span class="cal__teacher-title">{{ $t('cal.teacher') }}: <span
class="margin_with"></span></span>

View File

@@ -145,13 +145,13 @@
<q-space/>
<q-btn dense flat icon="minimize" @click="maximizedToggle = false" :disable="!maximizedToggle">
<q-tooltip v-if="maximizedToggle" class="bg-white text-primary">Minimize</q-tooltip>
<q-tooltip v-if="maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Minimize</q-tooltip>
</q-btn>
<q-btn dense flat icon="crop_square" @click="maximizedToggle = true" :disable="maximizedToggle">
<q-tooltip v-if="!maximizedToggle" class="bg-white text-primary">Maximize</q-tooltip>
<q-tooltip v-if="!maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Maximize</q-tooltip>
</q-btn>
<q-btn dense flat icon="close" v-close-popup>
<q-tooltip class="bg-white text-primary">Close</q-tooltip>
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Close</q-tooltip>
</q-btn>
</q-bar>

View File

@@ -520,7 +520,7 @@ export default defineComponent({
}
}
console.log('sortBy', sortBy)
// console.log('sortBy', sortBy)
const filtersearch: any[] = []
const filtersearch2: any[] = []
@@ -563,7 +563,7 @@ export default defineComponent({
if (searchList.value) {
recSkill = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSKILLS)
idSkill = recSkill ? recSkill.value : 0
console.log('recSkill', idSkill)
// console.log('recSkill', idSkill)
}
@@ -993,7 +993,7 @@ export default defineComponent({
if (startsearch.value)
return false
console.log('REFRESH!')
// console.log('REFRESH!')
startsearch.value = true
@@ -1065,9 +1065,7 @@ export default defineComponent({
}
function tableClass() {
if (dark) {
return 'bg-black'
}
return ($q.dark.isActive ? 'bg-black' : 'bg-white')
}
function selItem(item: any, col: IColGridTable, inmodif?: boolean) {
@@ -1476,7 +1474,7 @@ export default defineComponent({
}
function changeTable(mysel: any) {
console.log('changeTable', tablesel.value)
// console.log('changeTable', tablesel.value)
changetable.value = true
if (tablesel.value === undefined || tablesel.value === '')
return
@@ -1576,12 +1574,12 @@ export default defineComponent({
}
}
console.log('REFRR - changetable')
// console.log('REFRR - changetable')
refresh()
}
function doSearch() {
console.log('REFRR - doSearch')
// console.log('REFRR - doSearch')
refresh()
}
@@ -1916,7 +1914,7 @@ export default defineComponent({
function onLoadScroll (index: number, done: any) {
if (index > 1) {
console.log('onLoadScroll', index, 'RECLOAD', numRecLoaded.value, 'ROWS: ', pagination.value.rowsNumber)
// console.log('onLoadScroll', index, 'RECLOAD', numRecLoaded.value, 'ROWS: ', pagination.value.rowsNumber)
if (numRecLoaded.value < pagination.value.rowsNumber || (pagination.value.rowsNumber <= 0 && clickbuttsearch.value)) {
if (pagination.value.rowsNumber === 0) {
pagination.value.page = 0

View File

@@ -782,7 +782,7 @@
<div v-if="showColCheck(mycol, tools.TIPOVIS_SHOW_RECORD, false)">
<div class="row items-center justify-center q-gutter-md q-ma-xs">
<div class="q-ma-xs">
<q-field rounded outlined :bg-color="$q.dark.isActive ? '' : 'orange-3'" dense>
<q-field rounded outlined :bg-color="($q.dark.isActive ? '' : 'orange-3')" dense>
<template v-slot:control>
<div class="self-center full-width no-outline" tabindex="0">{{ mycol.label }}</div>
</template>

View File

@@ -1,6 +1,6 @@
<template>
<div>
<section class="padding_testo bg-white text-grey-10 text-justify"> <!-- v-scroll-reveal.reset -->
<section :class="`padding_testo ` + ($q.dark.isActive ? `bg-black`: `bg-white`) + ` text-grey-10 text-justify`"> <!-- v-scroll-reveal.reset -->
<div :class="myclass">
<div :class="clrowcol + ` q-px-xs`">
<q-img v-if="src" :src="src" class="" :style="style1" :alt="alt1"></q-img>

View File

@@ -3,7 +3,7 @@
<div class="row items-center justify-center q-gutter-md q-ma-xs">
<div class="q-ma-xs">
<q-field rounded outlined :bg-color="$q.dark.isActive ? '' : 'blue-4'" dense style="min-width:110px;">
<q-field rounded outlined :bg-color="($q.dark.isActive ? '' : 'blue-4')" dense style="min-width:110px;">
<template v-slot:control>
<div class="centermydiv">
<div class="self-center full-width no-outline text-center" tabindex="0">{{ mykey }}</div>

View File

@@ -5,7 +5,7 @@
<q-card class="dialog_card q-mb-lg" v-if="myrec">
<q-footer
class="bg-white small-screen-only text-center"
:class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` small-screen-only text-center`"
bordered
>
<q-btn push rounded color="primary" icon="close" label="Chiudi" v-close-popup></q-btn>

View File

@@ -4,7 +4,7 @@
<q-footer
v-if="!nopopup"
class="bg-white small-screen-only text-center"
:class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` small-screen-only text-center`"
bordered
>
<q-btn push rounded color="primary" icon="close" label="Chiudi" v-close-popup></q-btn>

View File

@@ -58,7 +58,7 @@ export default defineComponent({
const filtroutente = ref(<any[]>[])
const listcircuitsfiltered = computed(() => {
console.log('list modif')
// console.log('list modif')
return updateListCircuit()
})

View File

@@ -287,7 +287,7 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS">
<section class="padding_gallery bg-white text-grey-10 text-center">
<section :class="($q.dark.isActive ? `bg-black text-white` : `bg-white text-grey-10`) + ` padding_gallery text-center`">
<div
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
@click="clickOnElem"

View File

@@ -3,7 +3,7 @@
<div class="row items-center justify-center q-gutter-md q-ma-xs">
<div v-if="title" class="q-ma-xs">
<q-field rounded outlined :bg-color="$q.dark.isActive ? '' : 'blue-4'" dense style="min-width:110px;">
<q-field rounded outlined :bg-color="($q.dark.isActive ? '' : 'blue-4')" dense style="min-width:110px;">
<template v-slot:control>
<div class="centermydiv">
<div v-if="myimg" class="text-center">

View File

@@ -171,7 +171,7 @@ export default defineComponent({
if (arrk.length > 2)
mysubsubkey.value = arrk[2]
}
console.log('### table', props.table, 'col.value', col.value, 'field', props.field, 'mykey', mykey.value)
// console.log('### table', props.table, 'col.value', col.value, 'field', props.field, 'mykey', mykey.value)
}

View File

@@ -1,7 +1,7 @@
<template>
<div v-if="visuElem()" :class="mytitle ? `row items-center justify-center q-ma-xs text-center` : ``">
<div v-if="mytitle" class="q-ma-xs">
<q-field rounded outlined :bg-color="$q.dark.isActive ? '' : 'blue-4'" dense style="min-width:110px;">
<q-field rounded outlined :bg-color="($q.dark.isActive ? '' : 'blue-4')" dense style="min-width:110px;">
<template v-slot:control>
<div class="centermydiv">
<div v-if="myimg" class="text-center">

View File

@@ -203,8 +203,10 @@ export default defineComponent({
default: '',
},
},
components: { CMyChipList, CDateTime, CDate, CMyToggleList, CMySelect, CMyEditor, CGallery,
CCurrencyValue, CLabel, CAccomodation, CSelectImage },
components: {
CMyChipList, CDateTime, CDate, CMyToggleList, CMySelect, CMyEditor, CGallery,
CCurrencyValue, CLabel, CAccomodation, CSelectImage
},
setup(props, { emit }) {
const $q = useQuasar()
const { t } = useI18n()
@@ -244,7 +246,7 @@ export default defineComponent({
const myrow = ref(<any>null)
/* const myrow = computed(() => {
/* const myrow = computed(() => {
return props.rec && props.isrec ? props.rec : props.row
})
*/
@@ -398,7 +400,7 @@ export default defineComponent({
function mounted() {
myrow.value = props.rec && props.isrec ? {...props.rec} : {...props.row}
myrow.value = props.rec && props.isrec ? { ...props.rec } : { ...props.row }
try {
@@ -496,6 +498,20 @@ export default defineComponent({
console.log('SaveValueInt', newVal, valinitial)
if (props.tablesel) {
if (true) {
let mystrcol = '_id'
const mycol = fieldsTable.getColByTable(props.tablesel, mystrcol);
if (mycol) {
if (newVal)
newVal = newVal[mystrcol]
}
}
}
if (isFieldDb()) {
savefield(newVal, valinitial, $q)
} else {
@@ -515,11 +531,12 @@ export default defineComponent({
}
}
}
emit('save', newVal, valinitial)
}
function savefield(value: any, initialval: any, myq: any) {
if (!props.insertMode) {
myvalue.value = value
@@ -694,7 +711,7 @@ export default defineComponent({
}
}
function selectcountry({ name, iso2, dialCode }: {name: string, iso2: string, dialCode: string}) {
function selectcountry({ name, iso2, dialCode }: { name: string, iso2: string, dialCode: string }) {
// console.log(name, iso2, dialCode)
myvalueprec.value = myvalue.value
myvalue.value = iso2

View File

@@ -2,7 +2,8 @@
<template>
<div class="q-py-xs centermydiv cardrec"
:style="`max-width: `+ (tools.getwidth($q) - 20) +`px; ` + ($q.screen.lt.sm ? (`min-width: `+ (tools.getwidth($q) - 20) +`px;`) : ``)">
<q-item v-if="myrec" clickable v-ripple class="shadow-2 q-btn--rounded bg-teal-1">
<q-item v-if="myrec" clickable v-ripple :class="`shadow-2 q-btn--rounded ` + ($q.dark.isActive ? `bg-black`: `bg-teal-1`)">
<q-item-section v-if="(shared_consts.TABLES_VISU_IMG.includes(table)) && (myrec.photos && myrec.photos.length > 0)" avatar

View File

@@ -2,7 +2,7 @@
<div class="q-py-xs centermydiv cardrec"
:style="`max-width: `+ (tools.getwidth($q) - 20) +`px; ` + ($q.screen.lt.sm ? (`min-width: `+ (tools.getwidth($q) - 20) +`px;`) : ``)">
<q-item v-if="circuit" clickable v-ripple class="shadow-2 q-btn--rounded bg-teal-1">
<q-item v-if="circuit" clickable v-ripple :class="`shadow-2 q-btn--rounded ` + ($q.dark.isActive ? `bg-black`: `bg-teal-1`)">
<q-item-section v-if="circuit.photos" avatar
@click="cmdExt(costanti.CMD_OPEN_PAGE, circuit)">

View File

@@ -2,7 +2,7 @@
<div class="q-py-xs centermydiv cardrec"
:style="`max-width: `+ (tools.getwidth($q) - 20) +`px; ` + ($q.screen.lt.sm ? (`min-width: `+ (tools.getwidth($q) - 20) +`px;`) : ``)">
<q-item v-if="myrec" clickable v-ripple class="shadow-2 q-btn--rounded bg-teal-1">
<q-item v-if="myrec" clickable v-ripple :class="`shadow-2 q-btn--rounded `+ ($q.dark.isActive ? `bg-black`: `bg-teal-1`)">
<q-item-section v-if="(shared_consts.TABLES_VISU_IMG.includes(table)) && (myrec.photos && myrec.photos.length > 0)" avatar
@click="cmdExt(costanti.CMD_OPEN_PAGE, myrec)">

View File

@@ -22,6 +22,10 @@ $graytext: #555;
color: black;
}
&__details_darktheme {
color: white;
}
&__tdimg {
width: 150px;
height: 150px;
@@ -107,6 +111,10 @@ $graytext: #555;
color: black;
}
&__details_darktheme {
color: white;
}
&__hours {
color: blue;
&-title {

View File

@@ -92,9 +92,8 @@
<div style="margin: 10px;"></div>
<p v-if="myevent.bodytext" class="listaev__details text-left q-mb-md" v-html="myevent.bodytext"></p>
<p v-else class="listaev__details" v-html="myevent.details"></p>
<p v-if="myevent.bodytext" :class="`listaev__details`+ ($q.dark.isActive ? '_darktheme' : ``) + ` text-left q-mb-md`" v-html="myevent.bodytext"></p>
<p v-else :class="`listaev__details`+ ($q.dark.isActive ? '_darktheme' : ``)" v-html="myevent.details"></p>
<div v-for="(mypage, index) in myevent.pagefooter" :key="index">
<CMyPage v-if="!!mypage" :mypath="`/`+ mypage">

View File

@@ -25,6 +25,8 @@ export default defineComponent({
const slide = ref('first')
const animare = ref(0)
const globalStore = useGlobalStore()
function initprompt() {
window.addEventListener('beforeinstallprompt', (event) => {
// console.log('******************************** beforeinstallprompt fired')
@@ -127,6 +129,7 @@ export default defineComponent({
tools,
static_data,
animare,
site: globalStore.site,
}
},
})

View File

@@ -1,5 +1,5 @@
<template>
<q-page class="text-blue-6">
<q-page :class="`text-white`">
<div class="landing">
<section>
@@ -24,16 +24,16 @@
</div>
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h1"><span class="shadow-3 bg-white">{{ t('msg.myAppName') }}</span></div>
<div class="text-h1"><span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.myAppName') }}</span></div>
<div class="text-subtitle1 text-italic q-pl-sm">
<span class="shadow-3 bg-white">{{ t('msg.sottoTitoloApp') }}</span>
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.sottoTitoloApp') }}</span>
</div>
<div class="text-subtitle1 big text-italic q-pl-sm background-white"><strong>
<span class="shadow-3 bg-white">{{t('msg.sottoTitoloApp2')}}</span>
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{t('msg.sottoTitoloApp2')}}</span>
</strong>
</div>
<div class="text-subtitle2 text-italic q-pl-sm">
<span class="shadow-3 bg-white">{{ t('msg.sottoTitoloApp3') }}</span>
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.sottoTitoloApp3') }}</span>
</div>
<div>
@@ -99,16 +99,13 @@
</div>
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h1 shadow-max">{{ t('msg.myAppName') }}</div>
<div class="text-h1 shadow-max"></div>
<div class="text-subtitle1 shadow text-italic q-pl-sm">
<span class="shadow-3 bg-white">{{ t('msg.sottoTitoloApp') }}</span>
</div>
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>
<span class="shadow-3 bg-white">{{t('msg.sottoTitoloApp2')}}</span>
</strong>
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
</div>
<div class="text-subtitle2 shadow text-italic q-pl-sm">
<span class="shadow-3 bg-white">{{ t('msg.sottoTitoloApp3') }}</span>
</div>
<div>
@@ -174,16 +171,13 @@
</div>
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h1 shadow-max">{{ t('msg.myAppName') }}</div>
<div class="text-h1 shadow-max"></div>
<div class="text-subtitle1 shadow text-italic q-pl-sm">
{{ t('msg.sottoTitoloApp') }}
</div>
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{
t('msg.sottoTitoloApp2')
}}</strong>
</div>
<div class="text-subtitle2 shadow text-italic q-pl-sm">
{{ t('msg.sottoTitoloApp3') }}
</div>
<div>
@@ -244,7 +238,7 @@
</div>
</section>
<section class="padding bg-white text-grey-10 text-center">
<section :class="`padding `+ ($q.dark.isActive ? `text-white bg-black ` : `text-grey-10 bg-white`) + ` text-center`">
<div class="landing__features row items-start q-col-gutter-sm">
<div class="col-12 text-center">
<div class="feature-item q-mx-md">

View File

@@ -144,13 +144,13 @@
<q-space/>
<q-btn dense flat icon="minimize" @click="maximizedToggle = false" :disable="!maximizedToggle">
<q-tooltip v-if="maximizedToggle" class="bg-white text-primary">Minimize</q-tooltip>
<q-tooltip v-if="maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Minimize</q-tooltip>
</q-btn>
<q-btn dense flat icon="crop_square" @click="maximizedToggle = true" :disable="maximizedToggle">
<q-tooltip v-if="!maximizedToggle" class="bg-white text-primary">Maximize</q-tooltip>
<q-tooltip v-if="!maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Maximize</q-tooltip>
</q-btn>
<q-btn dense flat icon="close" v-close-popup>
<q-tooltip class="bg-white text-primary">Close</q-tooltip>
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Close</q-tooltip>
</q-btn>
</q-bar>

View File

@@ -22,7 +22,7 @@
<div class="self-center no-outline" tabindex="0" >{{ order.quantity }}</div>
</template>
</q-field>-->
<div class="q-mx-sm text-blue-14">{{ order.quantity }}</div>
<div :class="`q-mx-sm text-blue-14`">{{ order.quantity }}</div>
<q-btn
v-if="showall && !nomodif" round size="xs" text-color="grey" icon="fas fa-plus"
@click="addsubqty(true, false)"></q-btn>

View File

@@ -1,15 +1,15 @@
<template>
<q-footer
v-if="tools.isUserOk() && site"
class="bg-white small-screen-only"
v-if="tools.isUserOk() && site && site.confpages"
:class="($q.dark.isActive ? `bg-black` : `bg-white`) + `small-screen-only`"
bordered
>
<q-tabs
dense
class="text-grey-10 mylabfooter mysmalltabs"
:class="($q.dark.isActive ? `text-white bg-black` : `text-grey-10 bg-white`) + ` mylabfooter mysmalltabs`"
style="padding: 0px !important;"
content-class="mysmalltabs"
active-color="primary"
:active-color="$q.dark.isActive ? `primary`: `primary`"
no-caps
indicator-color="transparent"
>

View File

@@ -281,7 +281,7 @@ export default defineComponent({
const lang = computed({
get: () => $q.lang.isoName,
set: mylang => {
console.log('set lang', $q.lang.getLocale(), 'passato', mylang)
// console.log('set lang', $q.lang.getLocale(), 'passato', mylang)
$q.lang.set(snakeToCamel(mylang))
// tools.showNotif($q, 'IMPOSTA LANG= ' + $i18n.locale)
// console.log('IMPOSTA LANG= ' + $i18n.locale)

View File

@@ -1,6 +1,7 @@
<template>
<div>
<q-header
v-if="site"
reveal
elevated
:class="getClassColorHeader"
@@ -67,13 +68,13 @@
</div>
-->
<div v-if="site.confpages.show_darkopt" class="text-h7">
<div v-if="site.confpages && site.confpages.show_darkopt" class="text-h7">
<q-toggle :icon="'fas fa-moon'" v-model="dark"> </q-toggle>
</div>
<q-btn
v-if="
!isonline() &&
site.confpages.showConnected
site.confpages && site.confpages.showConnected
"
flat
dense
@@ -109,13 +110,13 @@
</q-list>
</q-btn-dropdown>
<div v-if="site.confpages.showMsgs">
<div v-if="site.confpages && site.confpages.showMsgs">
<message-popover></message-popover>
</div>
<div v-if="site.confpages.showCoins">
<div v-if="site.confpages && site.confpages.showCoins">
<coinsPopover v-model="rightCoinsOpen"></coinsPopover>
</div>
<div v-if="site.confpages.showNotif">
<div v-if="site.confpages && site.confpages.showNotif">
<notifPopover v-model="rightNotifOpen"></notifPopover>
</div>
@@ -128,7 +129,7 @@
<q-btn
class="q-mx-xs"
v-if="site.confpages.enableEcommerce && tools.isLogged()"
v-if="site.confpages && site.confpages.enableEcommerce && tools.isLogged()"
round
dense
flat
@@ -148,7 +149,7 @@
<q-btn
class="q-mx-xs"
v-if="
site.confpages.enableEcommerce &&
site.confpages && site.confpages.enableEcommerce &&
tools.isLogged() &&
getnumOrdersCart() > 0
"
@@ -170,7 +171,7 @@
<q-btn
class="q-mx-xs"
v-if="site.confpages.showUserMenu && !tools.isLogged()"
v-if="site.confpages && site.confpages.showUserMenu && !tools.isLogged()"
dense
flat
round
@@ -180,7 +181,7 @@
</q-btn>
<q-avatar
v-else-if="
site.confpages.showUserMenu &&
site.confpages && site.confpages.showUserMenu &&
tools.isLogged() &&
getMyImg()
"
@@ -226,7 +227,7 @@
<!-- USER BAR -->
<q-drawer
v-if="site.confpages.enableEcommerce"
v-if="site.confpages && site.confpages.enableEcommerce"
v-model="rightCartOpen"
side="right"
elevated
@@ -248,7 +249,7 @@
</q-drawer>
<!-- USER BAR -->
<q-drawer
v-if="site.confpages.showUserMenu"
v-if="site.confpages && site.confpages.showUserMenu"
v-model="rightDrawerOpen"
side="right"
elevated
@@ -387,7 +388,7 @@
<div v-show="!tools.isLogged()">
<div class="q-ma-md" style="">
<CSigninNoreg
:showregbutt="site.confpages.showRegButton"
:showregbutt="site.confpages && site.confpages.showRegButton"
>
</CSigninNoreg>
</div>

View File

@@ -15,6 +15,7 @@ const msg_website_de = {
SignUp: 'Nuova Registrazione',
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
SignUp2: 'Registrazione',
SignUp4: 'Reg',
SignIn: 'Login',
status: 'Statistiche',
nextzoom: 'Conferenze',

View File

@@ -1,9 +1,9 @@
const msg_website_it = {
ws: {
sitename: 'KolibriLab',
siteshortname: 'KolibriLab',
description: '',
keywords: '',
sitename: 'Riso',
siteshortname: 'RISO',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
},
products: {
quantity: 'Quantità',
@@ -54,10 +54,9 @@ const msg_website_it = {
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere <a href="https://play.google.com/store/apps/details?id=org.telegram.messenger" target="_blank">Telegram</a> installato<br>',
Registrazione_Con_Bot: '1) Copia questo username cliccandoci sopra:',
SignUpIscrizione: 'Diventa Socio CNM',
SignUpArcadei: 'Aderisci ad Arcadei',
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
SignUp2: 'Registrazione',
SignUp4: 'Reg',
SignUp3: 'Reg',
SignUpBot: 'Registrati',
SignIn: 'Login',
status: 'Statistiche',
@@ -115,10 +114,8 @@ const msg_website_it = {
hours: 'Ore',
department: 'Uffici',
title: 'Titolo',
subtitle: 'SottoTitolo',
path: 'Percorso',
img1: 'Immagine 1',
imgsize: 'ImgSize',
contentfield: 'Testo 1',
video1: 'Video 1',
ratio1: 'Ratio 1',
@@ -145,8 +142,8 @@ const msg_website_it = {
color: 'Colore',
},
msg: {
myAppName: 'Arcadei',
myAppDescription: 'Modello Comunitario',
myAppName: 'Riso',
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...',
myDescriz: '',
sottoTitoloApp: 'Il primo Vero Social',
@@ -161,37 +158,32 @@ const msg_website_it = {
+ ' che intere popolazioni antiche conoscevano bene.',
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
+ 'così piano piano dalla <strong>schiavitù</strong> del <strong>"Lavoro per generare Denaro"</strong> e trasformando le nostre <strong>Capacitá</strong> in '
+ '<strong>Risorse Umane</strong> per poterci sostenere e vivere in <strong>Armonia</strong> con gli altri.',
+ '<strong>Risorse Umane</strong> per poterci sostenere e vivere in <strong>Armonia</strong> con gli altri.<br>' +
'<br><strong>R.I.S.O.</strong><br>' +
'<em>Siamo una rete di comunità consapevoli, basata sul sostegno reciproco, la fiducia, la condivisione e l\'ascolto. \n' +
'Coltiviamo terreno fertile per creare, in armonia con la natura, un mondo di collettività libere e autosufficienti, attraverso un circuito di scambio di esperienze umane, beni e servizi.<br>' +
'Partecipa al cambiamento. RISO sei anche tu!</em>',
freesocial: {
title: 'Social',
descr: 'Una Community organizzata per <strong>Categorie</strong>, dove potrai unirti a <strong>Gruppi Tematici</strong>, '
+ 'Condividere <strong>Esperienze</strong> e unire Competenze per organizzare e sostenere <strong>Progetti Innovativi</strong> per il Popolo.<br><br>'
+ 'Verranno evidenziati sviluppi <strong>Etici</strong> come l\'<strong>Auto-Produzione</strong>, la <strong>Sostenibilitá</strong>, '
+ 'la Buona <strong>Salute Naturale</strong> e il <strong>Rispetto per l\'Ambiente</strong> e per tutti gli <strong>Esseri Viventi</strong> di questo '
+ '<strong>Pianeta</strong>. Chiunque potrá esprimere il proprio <strong>Consenso o Dissenso</strong> partecipando a <strong>Sondaggi Interattivi</strong>'
+ ' e realizzare insieme i <strong>Cambiamenti</strong> necessari alla nostra Società.',
+ '<strong>Pianeta</strong>.',
},
freetalent: {
title: 'Beni e Servizi',
descr: 'Condividi i tuoi <strong>Talenti</strong> e <strong>Abilità</strong>, '
+ 'Nel Dare e Ricevere, si creeranno così legami di <strong>Amicizia, Solidarietà, Cooperazione e Divertimento</strong><br><br>' +
'Favoriamo lo scambio locale di <strong>Beni e Servizi</strong> grazie ad un sistema di baratto organizzato, in cui la comunità stessa si pone come garante.'
'Favoriamo lo scambio locale di <strong>Beni e Servizi</strong> dove potrai scegliere cosa chiedere in cambio (Dono, Offerta Libera, Baratto, Monete Alternative, ecc...).'
},
coin: {
title: 'RIS - Credito Alternativo',
descr: '<strong>Stiamo lavorando</strong> anche per creare una sorta di "moneta alternativa" per conteggiare gli scambi che avvengono tra di noi, quando il semplice baratto risulta non applicabile.<br>' +
'Partendo dalle basi del <strong>Si.Cre.Na.C.C - Sistema di Credito Naturale a Copertura Certa</strong>.<br>' +
'<em>Ciascun operatore potrà creare moneta all\'occorrenza, se il saldo del suo conto non sarà sufficiente a coprire la spesa. Potrà quindi mandare il suo conto in "scoperto", accollandosi il conseguente' +
' Debito, accreditando l\'equivalente somma all\'operatore ricevente, il quale la annovera nel suo conto in qualità di Credito. ' +
'L\'equilibrio tra il credito dell\'uno ed il debito dell\'altro ha come conseguenza che il debitore dovrà lavorare per rifondere il debito, mentre il ricevente potrà usare il credito come moneta.</em><br>' +
'Per maggiori informazioni consultare il libro gratuito <a href="https://sicrenacc.info/" target="_blank">cliccando qui</a>.'
},
freeliving: {
title: 'Gruppi Territoriali',
descr: 'Questo progetto vuole diffondere la creazione di Gruppi Territoriali Provinciali,'
+ 'per poter favorire progetti condivisi in ambito territoriale e creare così una <strong>Rete di Fiducia</strong> fino al vicinato, come giá viene praticato in piccolo, in numerosi <strong>Ecovillaggi</strong> e Comunità del mondo.',
descr: 'Questo progetto vuole diffondere la creazione di Gruppi Territoriali Provinciali, '
+ 'per poter favorire progetti condivisi in ambito territoriale e creare così una <strong>Rete di Fiducia</strong> fino al <strong>vicinato</strong>, come giá viene praticato in piccolo, in numerosi <strong>Ecovillaggi</strong> e Comunità del mondo.',
},
freecollabora: {
@@ -239,9 +231,9 @@ const msg_website_it = {
},
multiplatform: {
title: 'Multi-piattaforma',
descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza passare dallo store. '
descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza dover passare dallo store. '
+ 'basta entrare sul sito <strong>www.riso.app</strong>.<br>'
+ 'Dopo la registrazione chiederà di aggiungerlo allo schermo (o cliccare sul menu del browser "Installa APP")',
+ 'Dopo la registrazione chiederà di aggiungerlo alla <strong>Schermata Home</strong> (oppure cliccare sul menu "..." del browser e scegliere "<strong>Installa APP</strong>")',
},
free: {
title: 'Gratuita, Open Source e Niente Pubblicità',

View File

@@ -4,6 +4,32 @@ import {
IPreloadImages,
ISites,
} from '@model'
import { func } from '@store/Modules/fieldsTable'
// const SHOW_PROJINTHEMENU = false
//
// let arrlistafavourite = []
// let arrlistaprojtutti = []
// let arrlistaprojmiei = []
// if (SHOW_PROJINTHEMENU) {
// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall)
// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects)
// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects)
// }
// PROGETTI -> FAVORITI :
// if (arrlistafavourite.length > 0) {
// arrMenu.push({
// icon: 'favorite_border',
// nametranslate: 'pages.' + RouteNames.favouriteprojects,
// urlroute: RouteNames.favouriteprojects,
// level_parent: 0.0,
// level_child: 0.5,
// routes2: arrlistafavourite,
// idelem: ''
// })
// }
const firstPage = {
active: true,
@@ -11,7 +37,7 @@ const firstPage = {
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/home/home.vue'),
component: () => import('@src/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
@@ -20,7 +46,94 @@ const firstPage = {
function getDynamicPages(site: ISites): IListRoutes[] {
const baseroutes: IListRoutes[] = [
firstPage,
{
active: true,
order: 5,
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
},
{
active: true,
order: 12,
path: '/goods',
materialIcon: 'fas fa-tshirt',
name: 'mypages.goods',
component: () => import('@/root/goods/goods.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/services',
materialIcon: 'fas fa-house-user',
name: 'mypages.services',
component: () => import('@/root/services/services.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/provapao',
materialIcon: 'fas fa-house-user',
name: 'mypages.provapao',
component: () => import('@/root/provapao/provapao.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 15,
path: '/hosps',
materialIcon: 'fas fa-bed',
name: 'mypages.hosp',
component: () => import('@/root/hosp/hosp.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 20,
path: '/events',
materialIcon: 'fas fa-bullhorn',
name: 'mypages.events',
component: () => import('@/root/eventi/eventi.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 100,
path: '/presentazione',
materialIcon: 'fas fa-info',
name: 'pages.presentazione',
component: () => import('@src/root/presentazione/presentazione.vue'),
reqauth: false,
inmenu: true,
infooter: true,
},
{
active: true,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 120,
@@ -32,6 +145,39 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: false,
infooter: false,
},
{
active: true,
order: 130,
path: '/friends',
materialIcon: 'fas fa-user-friends',
name: 'mypages.friends',
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableGroups,
order: 132,
path: '/groups',
materialIcon: 'fas fa-users',
name: 'mypages.groups',
component: () => import('@/views/user/mygroups/mygroups.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableCircuits,
order: 133,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 135,
@@ -43,6 +189,92 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: false,
infooter: false,
},
{
active: true,
order: 136,
path: '/grp/:groupname',
materialIcon: 'fas fa-user',
name: 'proj.group2',
component: () => import('@/views/user/mygroup/mygroup.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
}, {
active: true,
order: 137,
path: '/circuit/:path',
materialIcon: 'fas fa-user',
name: 'proj.circuit2',
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 130,
path: '/mypage/:idBacheca',
materialIcon: 'fas fa-user',
name: 'pages.mypage2',
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 130,
path: '/myservice/:idSkill',
materialIcon: '',
name: 'pages.myservice2',
component: () => import('@/views/user/myservice/myservice.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 135,
path: '/myhosps/:idHosp',
materialIcon: '',
name: 'pages.myhosps2',
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 132,
path: '/mygood/:idGood',
materialIcon: '',
name: 'pages.mygood2',
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 150,
path: '/fundraising',
materialIcon: 'fas fa-hand-holding-heart',
name: 'pages.fundraising',
component: () => import('@src/root/fundraising/fundraising.vue'),
inmenu: true,
infooter: true,
},
{
active: true,
order: 80,
path: '/calendario-eventi',
materialIcon: 'event',
name: 'ris.calendario_eventi_riso',
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
extraclass: 'isCalendar',
inmenu: true,
infooter: true
},
]
return baseroutes

View File

@@ -99,7 +99,7 @@ export default async (cmd: string, table: string, datakey: any = null, id: any =
if (cmd === 'readall') {
if (globalStore) {
globalStore.connData.downloading_indexeddb = 1
console.log('getalldata table', table)
// console.log('getalldata table', table)
}
return await storage.getalldata(table)
}

View File

@@ -129,7 +129,7 @@ export default defineComponent({
if (!!username) {
notifsel.value.dest = ''
console.log('refreshdata')
// console.log('refreshdata')
loading.value = true
return notifStore.updateNotifDataFromServer({

View File

@@ -86,10 +86,10 @@ export default defineComponent({
}
function checkifpolling() {
console.log('checkifpolling')
// console.log('checkifpolling')
if (eseguipolling.value) {
if (!polling.value) {
console.log('esegui POLLING 2....')
// console.log('esegui POLLING 2....')
polling.value = setInterval(() => {
checkIfArrivedSomeNotif()
}, 2000)
@@ -167,7 +167,7 @@ export default defineComponent({
if (!!username) {
notifsel.value.dest = ''
console.log('refreshdata')
// console.log('refreshdata')
loading.value = true
return notifStore.updateNotifDataFromServer({

View File

@@ -11,7 +11,7 @@ export default function () {
function setmeta(mym: IMetaTags) {
// cancellarlo...
return true
return
}
function getMeta(mym: IMetaTags, t: any) {

View File

@@ -212,34 +212,34 @@ export interface IOption {
export interface IConfPages {
font?: string
col_toolbar?: string
col_bgfooter?: string
show_darkopt?: boolean
showButtHome?: boolean
showProfile?: boolean
showUserMenu?: boolean
showRegButton?: boolean
enableReg?: boolean
showNL?: boolean
showMsgs?: boolean
showNotif?: boolean
showCoins?: boolean
showNameSurname?: boolean
showCompetenze?: boolean
showConnected?: boolean
bookingEvents?: boolean
enableEcommerce?: boolean
enableGroups?: boolean
enableCircuits?: boolean
enableProj?: boolean
enableTodos?: boolean
enableRegByBot?: boolean
enabledRegNeedTelegram?: boolean
showViewGroups?: boolean
showViewUsers?: boolean
showViewProfile?: boolean
enablePwa?: boolean
lang?: number
col_toolbar: string
col_bgfooter: string
show_darkopt: boolean
showButtHome: boolean
showProfile: boolean
showUserMenu: boolean
showRegButton: boolean
enableReg: boolean
showNL: boolean
showMsgs: boolean
showNotif: boolean
showCoins: boolean
showNameSurname: boolean
showCompetenze: boolean
showConnected: boolean
bookingEvents: boolean
enableEcommerce: boolean
enableGroups: boolean
enableCircuits: boolean
enableProj: boolean
enableTodos: boolean
enableRegByBot: boolean
enabledRegNeedTelegram: boolean
showViewGroups: boolean
showViewUsers: boolean
showViewProfile: boolean
enablePwa: boolean
lang: number
}
export interface IContacts {
facebook: string

View File

@@ -120,6 +120,7 @@ export interface IUserAport {
export interface IUserFields {
_id: string
idapp?: string
ind_order?: number
email?: string
username: string

View File

@@ -21,6 +21,10 @@
color: black;
}
&__details_darktheme {
color: white;
}
&__tdimg {
width: 150px;
height: 150px;

View File

@@ -1,6 +1,6 @@
<template>
<q-page class="text-black">
<section class="bg-white">
<q-page :class="$q.dark.isActive ? `text-white` : `text-black`">
<section :class="$q.dark.isActive ? `bg-black` : `bg-white`">
<div class=" row justify-between items-start q-col-gutter-sm">
<div class="col-12">
<div class="feature-item" style="margin-top: 0px !important;">

View File

@@ -174,7 +174,7 @@
</div>
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
<q-carousel
swipeable

View File

@@ -412,12 +412,6 @@ body.mobile .landing:before {
font-size: 0.6rem;
}
.carousel_img_3 {
//background-image: url(../../public/images/cibo_sano.jpg);
background-size: 620px 620px !important;
background-position: 50% top !important;
background-repeat: no-repeat !important;
}
}

View File

@@ -21,6 +21,10 @@
color: black;
}
&__details_darktheme {
color: white;
}
&__tdimg {
width: 150px;
height: 150px;

View File

@@ -72,7 +72,7 @@ export default defineComponent({
if (eseguipolling.value) {
// Is Still sending email, so, every minutes, check the status
if (!polling.value) {
console.log('esegui POLLING....')
// console.log('esegui POLLING....')
polling.value = setInterval(() => {
load()
}, 15000)

View File

@@ -165,14 +165,14 @@ function getRoutesAd(site: ISites) {
const routes_manager: IListRoutes[] = [
{
active: site.confpages?.bookingEvents,
active: site.confpages && site.confpages?.bookingEvents,
order: 70,
path: '/admin/usereventlist',
materialIcon: 'edit',
name: 'otherpages.admin.usereventlist',
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
inmenu: site.confpages.bookingEvents,
submenu: site.confpages.bookingEvents,
inmenu: site.confpages && site.confpages.bookingEvents,
submenu: site.confpages && site.confpages.bookingEvents,
level_parent: 0,
level_child: 0.5,
infooter: false,
@@ -513,17 +513,17 @@ function getRoutesAd(site: ISites) {
infooter: true
},
{
active: site.confpages.enableRegByBot,
active: site.confpages && site.confpages.enableRegByBot,
order: 1000,
path: '/bot',
materialIcon: 'how_to_reg',
name: 'pages.SignUpBot',
inmenu: site.confpages.enableRegByBot,
infooter: site.confpages.enableRegByBot,
inmenu: site.confpages && site.confpages.enableRegByBot,
infooter: site.confpages && site.confpages.enableRegByBot,
separator: false
},
{
active: site.confpages.enableReg && !site.confpages.enabledRegNeedTelegram,
active: site.confpages && site.confpages.enableReg && !site.confpages.enabledRegNeedTelegram,
order: 1000,
path: '/signup',
materialIcon: 'how_to_reg',
@@ -545,7 +545,7 @@ function getRoutesAd(site: ISites) {
separator: false
},
{
active: site.confpages.enableReg,
active: site.confpages && site.confpages.enableReg,
order: 2000,
path: '/regok',
materialIcon: 'how_to_reg',

View File

@@ -451,6 +451,7 @@ const msg_it = {
page_title: 'Registrazione',
made_gift: 'Dono',
note: 'Note',
detailsPage: 'Pagina Dettagliata sul Gruppo',
incorso: 'Registrazione in corso...',
iscrizioneincorso: 'Iscrizione in corso...',
richiesto: 'Campo Richiesto',

View File

@@ -760,8 +760,8 @@ export const colmyUserGroup = [
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist
}),
AddCol({
name: 'note', label_trans: 'proj.longdescr', fieldtype: costanti.FieldType.html,
titlepopupedit: 'Dettagli', field_extra1: 'groupname', subfield_extra1: ''
name: 'note', label_trans: 'reg.detailsPage', fieldtype: costanti.FieldType.html,
titlepopupedit: 'detailsPage', field_extra1: 'groupname', subfield_extra1: ''
}),
AddCol(ModifRec),
AddCol(DeleteRec),
@@ -2960,9 +2960,9 @@ export const fieldsTable = {
const tablerec: any = this.tablesList.find((rec) => rec.value === mytable)
if (tablerec) {
console.log('tablerec', tablerec.columns)
// console.log('tablerec', tablerec.columns)
const mycol = tablerec.columns.find((col: any) => col.name === namecol)
console.log('mycol = ', mycol)
// console.log('mycol = ', mycol)
return mycol
} else
return null

View File

@@ -2748,7 +2748,7 @@ export const tools = {
}
console.log('static_data.arrLangUsed', static_data.arrLangUsed, 'mylang', mylang)
// console.log('static_data.arrLangUsed', static_data.arrLangUsed, 'mylang', mylang)
if (!(static_data.arrLangUsed.includes(mylang))) {
// console.log('non incluso ', mylang)
// mylang = static_data.arrLangUsed[0]
@@ -5485,7 +5485,7 @@ export const tools = {
// console.log('OUT', res)
if (res && res.userprofile) {
console.log('updateMyData')
// console.log('updateMyData')
userStore.my.profile = res.userprofile
if (res.listcircuits) {
@@ -6711,14 +6711,14 @@ export const tools = {
},
getFullFileName(arrimage: IImgGallery[], table: string, username: string, groupname: string) {
console.log('arrimage', arrimage)
// console.log('arrimage', arrimage)
if (shared_consts.TABLES_DIRECTORY_A_PARTE.includes(table)) {
return `upload/${table}/` + groupname + '/' + arrimage[0].imagefile
} else if (shared_consts.TABLES_DIRECTORY_SINGLE_IMG.includes(table)) {
return `upload/${table}/` + groupname + '/' + arrimage[0].imagefile
} else {
console.log('username', username, 'table', table)
// console.log('username', username, 'table', table)
if (arrimage && arrimage.length > 0) {
return `upload/profile/${username}/${table}` + arrimage[0].imagefile
} else {

Some files were not shown because too many files have changed in this diff Show More