Registrazione: scegliere se Telegram o Email

This commit is contained in:
Surya Paolo
2022-12-12 18:25:19 +01:00
parent ac01af43cb
commit 97b0a72bb0
54 changed files with 463 additions and 1042 deletions

28
_ALL_SITES/arcadei.it/.env.test Executable file
View File

@@ -0,0 +1,28 @@
APP_VERSION="0.5.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet
DIRECTORY_SERVER=test.freeplanet_serverside
SERVERDIR_WEBSITE="test.kolibrilab.it"
SERVERPW_WEBSITE="pwdadmin@1AOK"
APP_URL="https://test.kolibrilab.it"
URL_FACEBOOK=""
PROVA_PAOLO=""
LANG_DEFAULT="it"
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
MONGODB_HOST="https://test.freeplanet.app:3001"
LOGO_REG='kolibrilab-logo-full.png'
TEST_NAME=""
TEST_SURNAME=""
TEST_EMAIL=""
TEST_USERNAME=""
TEST_PASSWORD=""
TEST_APORTADOR=""
PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
IN_CONSTRUCTION="0"
DEBUG="1"
TELEGRAM_SUPPORT=""
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
TEST_CELL=""
ISTEST=1

View File

@@ -1,504 +1,26 @@
import { import {
IListRoutes, IListRoutes,
ILang, ILang,
IFunctionality,
IPreloadImages, IPreloadImages,
ISites,
} from '@model' } from '@model'
import { func } from '@store/Modules/fieldsTable' import { func } from '@store/Modules/fieldsTable'
const functionality: IFunctionality = { const firstPage = {
PWA: false, active: true,
SHOW_USER_MENU: true, // Cambiare con true order: 5,
SHOW_PROFILE: true, path: '/',
SHOW_REG_BUTTON: true, materialIcon: 'home',
ENABLE_REGISTRATION: true, name: 'pages.home',
ENABLE_REG_BY_BOT: false, component: () => import('@src/root/home/home.vue'),
ENABLE_REG_NEED_TELEGRAM: false, reqauth: false,
SHOW_NEWSLETTER: false, inmenu: true,
SHOW_ONLY_POLICY: true, infooter: 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 function getDynamicPages(site: ISites): IListRoutes[] {
//
// 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) { const baseroutes: IListRoutes[] = [
// 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/iscrittiarcadei',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.iscrittiarcadei',
component: () => import('@/rootgen/admin/iscrittiarcadei/iscrittiarcadei.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.Home',
component: () => import('@/rootgen/admin/home/home.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, active: true,
order: 5, order: 5,
@@ -532,286 +54,6 @@ const baseroutes: IListRoutes[] = [
inmenu: false, inmenu: false,
infooter: 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,
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
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: 60,
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: 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: 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, active: true,
order: 80, order: 80,
@@ -835,38 +77,9 @@ const baseroutes: IListRoutes[] = [
separator: false, separator: false,
onlyNotSoci: false, onlyNotSoci: false,
}, },
{ ]
active: true, return baseroutes
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
},
]
export function firstimagehome() { export function firstimagehome() {
@@ -874,41 +87,20 @@ export function firstimagehome() {
return img return img
} }
const arrLangUsed = [
'it',
// 'enUs',
// 'es',
]
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[] = [] const preLoadImages: IPreloadImages[] = []
export const lang_available: ILang[] = []
export const arrLangUsed: string[] = []
export const preloadedimages = [] export const preloadedimages = []
export const routes = baseroutes export const routes: IListRoutes[] = [firstPage]
export const static_data = { export const static_data = {
baseroutes,
routes, routes,
functionality, arrLangUsed,
getDynamicPages,
lang_available, lang_available,
preLoadImages, preLoadImages,
arrLangUsed,
preloadedimages, preloadedimages,
} }

View File

@@ -31,20 +31,6 @@ const msg_website_enUs = {
Admin: 'Admin', Admin: 'Admin',
Test1: 'Test1', Test1: 'Test1',
Test2: 'Test2', Test2: 'Test2',
statusreg: {
reg: 'Participants',
passeggeri: 'Passengers Ships',
giainlista: 'Already in the List',
newreg: 'New registrations:',
nationality: 'Nationality',
verified: 'Verified',
nonverified: 'Not Verified',
req7: 'With 5 steps you enter the boarding list.',
req9: 'With 7 steps help {sitename} to grow!',
req: 'Steps',
people: 'Gue.',
peoplelegend: 'Number of guests',
},
}, },
msg: { msg: {
myAppDescription: '', myAppDescription: '',

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.34" APP_VERSION="0.5.28"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16" APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet DIRECTORY_LOCAL=newfreeplanet

View File

@@ -57,7 +57,9 @@ const msg_website_it = {
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !', SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
SignUp2: 'Registrazione', SignUp2: 'Registrazione',
SignUp3: 'Reg', SignUp3: 'Reg',
SignUpBot: 'Registrati', SignUp4: 'Reg',
SignUp5: 'Reg',
SignUpBot: 'Registrati con Telegram',
SignIn: 'Login', SignIn: 'Login',
status: 'Statistiche', status: 'Statistiche',
nextzoom: 'Conferenze', nextzoom: 'Conferenze',
@@ -97,7 +99,9 @@ const msg_website_it = {
autorizzare: 'In attesa di Abilitazione', autorizzare: 'In attesa di Abilitazione',
passeggeri: 'Passeggeri Navi', passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista', giainlista: 'Gia in Lista',
newreg: 'Ultime Registrazioni:', newreg: 'Registrati',
onlineusers: 'OnLine',
diffusori: 'Diffusori',
nationality: 'Nazionalità', nationality: 'Nazionalità',
nationality_born: 'Nazione di Nascita', nationality_born: 'Nazione di Nascita',
verified: 'Verificata', verified: 'Verificata',
@@ -146,10 +150,8 @@ const msg_website_it = {
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...', underconstruction: 'App in costruzione...',
myDescriz: '', myDescriz: '',
sottoTitoloApp: 'Il primo Vero Social', sottoTitoloApp: 'Rete Italiana di Scambio Orizzontale',
sottoTitoloApp2: 'Libero, Equo e Solidale', sottoTitoloApp2: '',
sottoTitoloApp3: 'dove Vive Consapevolezza e Aiuto Comunitario',
sottoTitoloApp4: 'Gratuito e senza Pubblicità',
}, },
homepage: { homepage: {
descrapp_title1: 'Uniti per Evolvere e Sperimentare', descrapp_title1: 'Uniti per Evolvere e Sperimentare',

View File

@@ -178,17 +178,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true, inmenu: true,
infooter: true, infooter: true,
}, },
{
active: true,
order: 135,
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{ {
active: true, active: true,
order: 136, order: 136,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -22,56 +22,58 @@
"generate-sw": "workbox generateSW workbox-config.js" "generate-sw": "workbox generateSW workbox-config.js"
}, },
"dependencies": { "dependencies": {
"@quasar/extras": "^1.15.2", "@quasar/extras": "^1.15.6",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.13", "@quasar/quasar-ui-qcalendar": "^4.0.0-beta.13",
"@vue-leaflet/vue-leaflet": "^0.6.1", "@vue-leaflet/vue-leaflet": "^0.6.1",
"@vue/compat": "^3.2.38", "@vue/compat": "^3.2.45",
"@vue/compiler-sfc": "^3.2.38", "@vue/compiler-sfc": "^3.2.45",
"@vue/eslint-config-standard": "7.0.0", "@vue/eslint-config-standard": "7.0.0",
"@vuelidate/core": "^2.0.0-alpha.44", "@vuelidate/core": "^2.0.0",
"@vuelidate/validators": "^2.0.0-alpha.31", "@vuelidate/validators": "^2.0.0",
"acorn": "^8.8.0", "acorn": "^8.8.1",
"autoprefixer": "^10.4.8", "animate.css": "^4.1.1",
"axios": "^0.27.2", "autoprefixer": "^10.4.13",
"axios": "^1.2.0",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"chart.js": "^3.9.1", "chart.js": "^3.9.1",
"core-js": "^3.25.0", "core-js": "^3.26.1",
"crypto": "^1.0.1", "crypto": "^1.0.1",
"date-fns": "^2.29.2", "date-fns": "^2.29.3",
"dotenv": "^16.0.2", "dotenv": "^16.0.3",
"echarts": "^5.3.3", "echarts": "^5.3.3",
"eslint-plugin-quasar": "^1.1.0", "eslint-plugin-quasar": "^1.1.0",
"eslint-plugin-standard": "^5.0.0", "eslint-plugin-standard": "^5.0.0",
"graphql": "^16.6.0", "graphql": "^16.6.0",
"graphql-tag": "^2.12.6", "graphql-tag": "^2.12.6",
"gsap": "^3.11.1", "gsap": "^3.11.3",
"jquery": "^3.6.1", "jquery": "^3.6.1",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
"localforage": "^1.10.0", "localforage": "^1.10.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"npm": "^8.19.1", "npm": "^9.1.2",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.0.22", "pinia": "^2.0.27",
"prerender-spa-plugin": "^3.4.0", "prerender-spa-plugin": "^3.4.0",
"quasar": "^2.7.7", "quasar": "^2.10.2",
"quasar-extras": "^2.0.9", "quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2", "register-service-worker": "^1.7.2",
"vee-validate": "^4.6.7", "vee-validate": "^4.7.3",
"vue": "^3.2.38", "vue": "^3.2.45",
"vue-chart-3": "^3.1.8", "vue-chart-3": "^3.1.8",
"vue-class-component": "^8.0.0-rc.1", "vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3", "vue-country-code": "^1.1.3",
"vue-echarts": "^6.2.3", "vue-echarts": "^6.2.3",
"vue-i18n": "^9.2.2", "vue-i18n": "^9.2.2",
"vue-idb": "^0.2.0", "vue-idb": "^0.2.0",
"vue-loader": "^17.0.0", "vue-loader": "^17.0.1",
"vue-property-decorator": "^10.0.0-rc.3", "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-scroll-reveal": "^1.0.11",
"vue-social-sharing": "^4.0.0-alpha4",
"vue-svgicon": "^4.0.0-alpha.3", "vue-svgicon": "^4.0.0-alpha.3",
"vue2-dragula": "^2.5.5", "vue2-dragula": "^2.5.5",
"vuex": "^4.0.2", "vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1" "vuex-router-sync": "^6.0.0-rc.1"
}, },
"devDependencies": { "devDependencies": {
@@ -79,56 +81,56 @@
"@types/bcryptjs": "^2.4.2", "@types/bcryptjs": "^2.4.2",
"@types/dotenv": "^8.2.0", "@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3", "@types/googlemaps": "^3.43.3",
"@types/jest": "^29.0.0", "@types/jest": "^29.2.3",
"@types/js-cookie": "^3.0.2", "@types/js-cookie": "^3.0.2",
"@types/node": "18.7.15", "@types/node": "18.11.9",
"@types/nprogress": "^0.2.0", "@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2", "@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.15", "@types/vuelidate": "^0.7.15",
"@typescript-eslint/eslint-plugin": "^5.36.2", "@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.36.2", "@typescript-eslint/parser": "^5.45.0",
"eslint": "^8.23.0", "eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.0.1", "eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.4.0", "eslint-plugin-vue": "^9.8.0",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"http-proxy-middleware": "^2.0.6", "http-proxy-middleware": "^2.0.6",
"jest": "^29.0.2", "jest": "^29.3.1",
"json-loader": "^0.5.7", "json-loader": "^0.5.7",
"node-sass": "7.0.1", "node-sass": "7.0.1",
"npm-check-updates": "^16.1.0", "npm-check-updates": "^16.4.3",
"optimize-css-assets-webpack-plugin": "^6.0.1", "optimize-css-assets-webpack-plugin": "^6.0.1",
"postcss": "^8.4.16", "postcss": "^8.4.19",
"postcss-loader": "^7.0.1", "postcss-loader": "^7.0.2",
"sass-loader": "^13.0.2", "sass-loader": "^13.2.0",
"strip-ansi": "=7.0.1", "strip-ansi": "=7.0.1",
"ts-jest": "^28.0.8", "ts-jest": "^29.0.3",
"ts-loader": "^9.3.1", "ts-loader": "^9.4.1",
"tslint": "^6.1.3", "tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0", "tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4", "tslint-loader": "^3.5.4",
"typescript": "^4.8.2", "typescript": "^4.9.3",
"vue-cli-plugin-element-ui": "^1.1.4", "vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1", "vueify": "^9.4.1",
"webpack": "^5.74.0", "webpack": "^5.75.0",
"workbox-webpack-plugin": "^6.5.4" "workbox-webpack-plugin": "^6.5.4"
}, },
"browser": { "browser": {
"crypto": false "crypto": false
}, },
"browserslist": [ "browserslist": [
"last 16 Chrome versions", "last 30 Chrome versions",
"last 16 Firefox versions", "last 30 Firefox versions",
"last 4 Edge versions", "last 4 Edge versions",
"last 13 Safari versions", "last 30 Safari versions",
"last 16 Android versions", "last 30 Android versions",
"last 16 ChromeAndroid versions", "last 30 ChromeAndroid versions",
"last 16 FirefoxAndroid versions", "last 30 FirefoxAndroid versions",
"last 12 iOS versions", "last 18 iOS versions",
"last 7 Opera versions" "last 11 Opera versions"
], ],
"engines": { "engines": {
"node": ">= 16.14.0", "node": ">= 16.14.0",

View File

@@ -37,7 +37,7 @@ module.exports = configure((ctx) => ({
// --> boot files are part of "main.js" // --> boot files are part of "main.js"
// https://v2.quasar.dev/quasar-cli/boot-files // https://v2.quasar.dev/quasar-cli/boot-files
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'], // boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar'], boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing'],
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css // https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
css: [ css: [
@@ -149,6 +149,10 @@ module.exports = configure((ctx) => ({
https: false, https: false,
port: 8084, port: 8084,
open: false, // opens browser window automatically open: false, // opens browser window automatically
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
},
}, },
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework // https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework

View File

@@ -1 +1 @@
TERMINA DI LAVORARE SU riso.app: (Sovrascrivo !) TERMINA DI LAVORARE SU arcadei.it: (Sovrascrivo !)

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 634 KiB

After

Width:  |  Height:  |  Size: 529 KiB

View File

@@ -20,6 +20,11 @@ export default defineComponent({
const $router = useRouter() const $router = useRouter()
const site = ref(globalStore.site) const site = ref(globalStore.site)
const chooseReg = ref(false)
const noInvited = ref(false)
const start = ref(false)
const slide= ref('start')
function clickToRegister() { function clickToRegister() {
@@ -35,6 +40,10 @@ export default defineComponent({
tools, tools,
site, site,
clickToRegister, clickToRegister,
chooseReg,
start,
noInvited,
slide,
} }
}, },
}) })

View File

@@ -1,10 +1,119 @@
<template> <template>
<div v-if="site.confpages.enableReg"> <div
v-if="site.confpages.enableReg"
class="row q-ma-sm centermydiv2 q-pa-sm justify-center align-center"
>
<div v-if="!start">
<q-btn
rounded
glossy
icon="fas fa-user-plus"
size="lg"
color="primary"
@click="start = true"
:label="$t('reg.submit')"
>
</q-btn>
</div>
<q-carousel
v-if="start"
v-model="slide"
transition-prev="scale"
transition-next="scale"
animated
control-color="white"
navigation
padding
arrows
height="400px"
class="bg-primary text-white shadow-1 rounded-borders"
>
<q-carousel-slide name="start" class="column no-wrap flex-center">
<q-icon name="fas fa-user" size="56px" />
<div class="q-mt-md text-center">
<span class="text-h6"> {{ $t('reg.invitante') }}</span>
<q-card class="dialog_card q-mb-lg">
<q-card-section class="column q-ma-sm q-pa-sm q-col-gutter-sm">
<q-btn
rounded
glossy
size="lg"
color="positive"
@click="
slide = 'second';
noInvited = false;
chooseReg = true;
"
:label="$t('dialog.yes')"
>
</q-btn>
<q-btn
rounded
glossy
size="lg"
color="negative"
@click="
slide = 'second';
noInvited = true;
chooseReg = false;
"
:label="$t('dialog.no')"
>
</q-btn>
</q-card-section>
</q-card>
</div>
</q-carousel-slide>
<q-carousel-slide name="second">
<div v-if="noInvited" class="text-h7">
<div class="text-center text-bold text-h6">
Se ancora non sei stato invitato:
</div>
<br />
1 👉🏻 Entra nel canale Telegram "Progetto RISO" cliccando qui:<br />
<div class="text-center">
<q-btn
type="a"
rounded
icon="fab fa-telegram"
color="positive"
href="https://t.me/+pZ40VpmL1NhkZjE0"
target="_blank"
label="Progetto RISO"
>
</q-btn>
</div>
<br />
2 👉🏻 sul post del canale fissato in alto, troverai tutte le info sul
progetto e su come entrare nel gruppo della tua provincia.<br />
Potrai cosi richiedere il link una volta entrato nella chat di
gruppo.<br />
</div>
<div v-else-if="chooseReg">
<div class="text-center">
<q-icon name="fas fa-user" size="23px" />
<span class="text-h6"> {{ $t('reg.page_title') }}</span>
<q-card class="q-mt-sm dialog_card q-mb-sm">
<q-card-section>
<div <div
v-if="site.confpages.enableRegMultiChoice" v-if="site.confpages.enableRegMultiChoice"
class="row q-ma-sm centermydiv2 q-pa-sm justify-center align-center"
style="" style=""
class="row q-ma-sm centermydiv2 q-pa-sm justify-center"
> >
<span class="text-black text-h7"
>Chiedi alla persona che ti ha invitato su RISO il suo
Username e poi :</span
><br />
<div class="row items-center">
<div>
<p class="text-bold text-center">
<span style="font-size: 1.5rem">👇🏻 </span>
<span class="text-black">Consigliato </span>
<span style="font-size: 1.5rem"> 👇🏻 </span>
</p>
<q-btn <q-btn
rounded rounded
class="flex-item-btn" class="flex-item-btn"
@@ -15,6 +124,11 @@
:label="$t('reg.bytelegram')" :label="$t('reg.bytelegram')"
> >
</q-btn> </q-btn>
</div>
</div>
<span class="text-black"
>oppure se non riesci ad installare Telegram: </span
><br />
<q-btn <q-btn
rounded rounded
class="flex-item-btn" class="flex-item-btn"
@@ -39,6 +153,12 @@
> >
</q-btn> </q-btn>
</div> </div>
</q-card-section>
</q-card>
</div>
</div>
</q-carousel-slide>
</q-carousel>
</div> </div>
</template> </template>

View File

@@ -64,14 +64,14 @@
</div> </div>
<div <div
v-if="site.confpages.enableReg && showregbutt && site.confpages.enableRegByBot" v-if="site.confpages && site.confpages.enableReg && showregbutt && site.confpages.enableRegByBot"
style="margin-top:10px; text-align: center;"> style="margin-top:10px; text-align: center;">
Se non sei ancora Registrato:<br> Se non sei ancora Registrato:<br>
<q-btn type="a" rounded size="md" color="primary" href="/bot" :label="$t('reg.submit')"> <q-btn type="a" rounded size="md" color="primary" href="/bot" :label="$t('reg.submit')">
</q-btn> </q-btn>
</div> </div>
<div <div
v-else-if="site.confpages.enableReg && showregbutt" v-else-if="site.confpages && site.confpages.enableReg && showregbutt"
style="margin-top:10px; text-align: center;"> style="margin-top:10px; text-align: center;">
Se non sei ancora Registrato:<br> Se non sei ancora Registrato:<br>
<q-btn rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')"> <q-btn rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">

View File

@@ -87,6 +87,8 @@ export default defineComponent({
const typePassword = ref('password') const typePassword = ref('password')
const ap_iniziale = ref('')
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
const site = computed(() => globalStore.site) const site = computed(() => globalStore.site)
@@ -130,10 +132,10 @@ export default defineComponent({
if (props.show_namesurname) { if (props.show_namesurname) {
valid.name = { valid.name = {
required,
} }
valid.surname = { valid.surname = {
required,
} }
} }
@@ -173,6 +175,10 @@ export default defineComponent({
error = true error = true
} }
if (tools.getAskToVerifyReg()) {
error = error || !signup.aportador_solidario
}
return !error return !error
} }
@@ -253,6 +259,8 @@ export default defineComponent({
console.log('$route.params', $route.params) console.log('$route.params', $route.params)
ap_iniziale.value = !!$route.params.invited ? $route.params.invited.toString() : ''
signup.aportador_solidario = !!$route.params.invited ? $route.params.invited.toString() : '' signup.aportador_solidario = !!$route.params.invited ? $route.params.invited.toString() : ''
signup.username = !!$route.params.usernameteleg ? $route.params.usernameteleg.toString() : '' signup.username = !!$route.params.usernameteleg ? $route.params.usernameteleg.toString() : ''
signup.regexpire = !!$route.params.regexpire ? $route.params.regexpire.toString() : props.regexpire signup.regexpire = !!$route.params.regexpire ? $route.params.regexpire.toString() : props.regexpire
@@ -269,8 +277,10 @@ export default defineComponent({
signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, signup.aportador_solidario) signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, signup.aportador_solidario)
if (!signup.aportador_solidario || signup.aportador_solidario === 'undefined') { if (!signup.aportador_solidario || signup.aportador_solidario === 'undefined') {
if (!tools.getAskToVerifyReg()) {
signup.aportador_solidario = tools.APORTADOR_NONE signup.aportador_solidario = tools.APORTADOR_NONE
} }
}
console.log('signup.aportador_solidario', signup.aportador_solidario) console.log('signup.aportador_solidario', signup.aportador_solidario)
@@ -340,6 +350,7 @@ export default defineComponent({
site, site,
showPassword, showPassword,
typePassword, typePassword,
ap_iniziale,
} }
}, },
}) })

View File

@@ -98,7 +98,7 @@
signup.aportador_solidario !== tools.APORTADOR_NONE signup.aportador_solidario !== tools.APORTADOR_NONE
" "
bg-color="lightblue" bg-color="lightblue"
:readonly="true" :readonly="!!ap_iniziale"
v-model="signup.aportador_solidario" v-model="signup.aportador_solidario"
rounded rounded
outlined outlined
@@ -181,7 +181,7 @@
maxlength="30" maxlength="30"
debounce="1000" debounce="1000"
:error-message="tools.errorMsg('name', v$.name)" :error-message="tools.errorMsg('name', v$.name)"
:label="$t('reg.name')" :label="$t('reg.name_opt')"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="person" /> <q-icon name="person" />

View File

@@ -60,6 +60,7 @@ export default defineComponent({
num_teleg_pending: 0, num_teleg_pending: 0,
lastsreg: [], lastsreg: [],
lastsonline: [], lastsonline: [],
lastssharedlink: [],
diffusorilist: [], diffusorilist: [],
checkuser: { verified_email: false } checkuser: { verified_email: false }
}) })
@@ -82,6 +83,9 @@ export default defineComponent({
const lastsonline = computed(() => { const lastsonline = computed(() => {
return datastat.value.lastsonline return datastat.value.lastsonline
}) })
const lastssharedlink = computed(() => {
return datastat.value.lastssharedlink
})
const diffusorilist = computed(() => { const diffusorilist = computed(() => {
return datastat.value.diffusorilist return datastat.value.diffusorilist
}) })
@@ -201,6 +205,7 @@ export default defineComponent({
emailnonverif, emailnonverif,
lastsreg, lastsreg,
lastsonline, lastsonline,
lastssharedlink,
diffusorilist, diffusorilist,
datastat, datastat,
tools, tools,

View File

@@ -12,7 +12,7 @@
> >
<div class="flex flex-center"> <div class="flex flex-center">
<CElemStat <CElemStat
:title="$t('pages.statusreg.reg')" :title="$t('statusreg.reg')"
icon="fas fa-users" icon="fas fa-users"
:value_today="datastat.num_reg_today" :value_today="datastat.num_reg_today"
:mytextval="datastat.num_reg" :mytextval="datastat.num_reg"
@@ -22,7 +22,7 @@
</CElemStat> </CElemStat>
<CElemStat <CElemStat
:title="$t('pages.statusreg.online_today')" :title="$t('statusreg.online_today')"
icon="fas fa-wifi" icon="fas fa-wifi"
:mytextval="datastat.online_today" :mytextval="datastat.online_today"
classColor="text-green" classColor="text-green"
@@ -30,7 +30,7 @@
> >
</CElemStat> </CElemStat>
<!--<CCardState :mytext="$t('pages.statusreg.autorizzare')" :myval="datastat.num_autorizzare" <!--<CCardState :mytext="$t('statusreg.autorizzare')" :myval="datastat.num_autorizzare"
mycolor="yellow" :myperc="(datastat.num_autorizzare / datastat.num_teleg_attivo) * 100"></CCardState> mycolor="yellow" :myperc="(datastat.num_autorizzare / datastat.num_teleg_attivo) * 100"></CCardState>
--> -->
@@ -56,17 +56,17 @@
<q-tabs v-model="mytab" class="text-blue"> <q-tabs v-model="mytab" class="text-blue">
<q-tab <q-tab
name="reg" name="reg"
:label="$t('pages.statusreg.newreg')" :label="$t('statusreg.newreg')"
icon="fas fa-user-plus" icon="fas fa-user-plus"
/> />
<q-tab <q-tab
name="online" name="online"
:label="$t('pages.statusreg.onlineusers')" :label="$t('statusreg.onlineusers')"
icon="fas fa-wifi" icon="fas fa-wifi"
/> />
<q-tab <q-tab
name="diffusori" name="diffusori"
:label="$t('pages.statusreg.diffusori')" :label="$t('statusreg.diffusori')"
icon="fas fa-medal" icon="fas fa-medal"
/> />
</q-tabs> </q-tabs>
@@ -209,6 +209,58 @@
</q-list> </q-list>
</div> </div>
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="sharedlink">
<div class="q-pa-md" style="max-width: 300px">
<div class="text-center text-bold text-h6">Registrati con questi invitanti:</div>
<div class="text-center">Cliccare sulla persona per procedere alla registrazione
</div>
<q-list bordered>
<transition-group
name="fade"
mode="out-in"
appear
enter-active-class="animazione fadeIn"
leave-active-class="animazione fadeOut"
>
<q-item
v-for="(user, index) in lastssharedlink"
:key="index"
class="animated chip_shadow q-ma-sm"
clickable
v-ripple
@click="gotoPage(`/signup/${user.username}`)"
>
<q-item-section avatar>
<q-avatar round size="48px">
<img :src="userStore.getImgByProfile(user)" />
<q-badge
v-if="tools.isUserOnline(user)"
align="top"
floating
color="green"
>online</q-badge
>
</q-avatar>
</q-item-section>
<q-item-section class="">
<q-item-label overline>
<div class="index_diffusore">{{ index + 1 }}°</div>
</q-item-label>
<q-item-label>
{{ tools.getNameToShow(user) }}</q-item-label
>
<q-item-label caption>{{
tools.getUserNameOnlyIfToShow(user)
}}</q-item-label>
</q-item-section>
<q-item-section side
><span class="text-h6 q-mr-sm"></span></q-item-section
>
</q-item>
</transition-group>
</q-list>
</div>
</q-tab-panel>
</q-tab-panels> </q-tab-panels>
</div> </div>

View File

@@ -25,7 +25,7 @@
<div class="row q-gutter-xs justify-center items-center"> <div class="row q-gutter-xs justify-center items-center">
<div> <div>
<CCardState <CCardState
:mytext="$t('pages.statusreg.req')" :myval="getnumreq(user)" :myperc="getnumperc(user)" size="50px" size_mob="40px" fontsize="0.85rem" :mytext="$t('statusreg.req')" :myval="getnumreq(user)" :myperc="getnumperc(user)" size="50px" size_mob="40px" fontsize="0.85rem"
myclass="my-card-small-stat" :mycolor="getcolor(user)"></CCardState> myclass="my-card-small-stat" :mycolor="getcolor(user)"></CCardState>
</div> </div>
@@ -33,7 +33,7 @@ myclass="my-card-small-stat" :mycolor="getcolor(user)"></CCardState>
<q-icon v-if="!isextralist(user)" size="sm" name="fas fa-video" :color="getzoomcolor(user)"></q-icon>--> <q-icon v-if="!isextralist(user)" size="sm" name="fas fa-video" :color="getzoomcolor(user)"></q-icon>-->
<div> <div>
<CCardState <CCardState
:mytext="$t('pages.statusreg.people')" :myval="getnumpeople(user)" :myperc="getnumpercpeople(user)" size="50px" size_mob="40px" fontsize="0.85rem" :mytext="$t('statusreg.people')" :myval="getnumpeople(user)" :myperc="getnumpercpeople(user)" size="50px" size_mob="40px" fontsize="0.85rem"
myclass="my-card-small-stat" :mycolor="getcolorpeople(user)"></CCardState> myclass="my-card-small-stat" :mycolor="getcolorpeople(user)"></CCardState>
</div> </div>
<div> <div>

View File

@@ -1,10 +1,10 @@
<template> <template>
<div class="text-center q-gutter-sm q-ma-sm clBorderWarning"> <div class="text-center q-gutter-sm q-ma-sm clBorderWarning">
<q-chip v-if="tools.isEmailVerified()" color="positive" text-color="white" icon="email"> <q-chip v-if="tools.isEmailVerified()" color="positive" text-color="white" icon="email">
{{ `Email ` + $t('pages.statusreg.verified') }} {{ `Email ` + $t('statusreg.verified') }}
</q-chip> </q-chip>
<q-chip v-else color="negative" text-color="white" icon="email"> <q-chip v-else color="negative" text-color="white" icon="email">
{{ `Email ` + $t('pages.statusreg.nonverified') }} {{ `Email ` + $t('statusreg.nonverified') }}
</q-chip> </q-chip>
<div v-if="!tools.isEmailVerified()" v-html="$t('components.authentication.email_verification.link_sent', {botname: tools.getBotName() })"> <div v-if="!tools.isEmailVerified()" v-html="$t('components.authentication.email_verification.link_sent', {botname: tools.getBotName() })">

View File

@@ -1200,7 +1200,6 @@ h3 {
} }
.text-normal { .text-normal {
font-family: 'Open Sans', Arial, sans-serif; font-family: 'Open Sans', Arial, sans-serif;
font-size: 1rem; font-size: 1rem;

View File

@@ -91,27 +91,6 @@ const msg_website_it = {
projectsShared: 'Condivisi da me', projectsShared: 'Condivisi da me',
myprojects: 'Privati', myprojects: 'Privati',
favproj: 'Favoriti', favproj: 'Favoriti',
statusreg: {
reg: 'Partecipanti',
verifieds: 'Verificati',
online_today: 'On Line Oggi',
autorizzati: 'Autorizzati',
autorizzare: 'In attesa di Abilitazione',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Registrati',
onlineusers: 'OnLine',
diffusori: 'Diffusori',
nationality: 'Nazionalità',
nationality_born: 'Nazione di Nascita',
verified: 'Verificata',
nonverified: 'Non Verificata',
req7: 'Con 5 passi entri nella lista d\'Imbarco',
req9: 'Con 7 passi aiuti {sitename} a Crescere!',
req: 'Passi',
people: 'Inv.',
peoplelegend: 'Numero d\'Invitati',
},
admin_ecommerce: 'ECommerce', admin_ecommerce: 'ECommerce',
ecommerce: 'Prodotti', ecommerce: 'Prodotti',
ecommerce_menu: 'ECommerce1', ecommerce_menu: 'ECommerce1',

View File

@@ -33,6 +33,7 @@ export interface INotData {
arr_nations?: string arr_nations?: string
lastsreg?: IUserFields[] lastsreg?: IUserFields[]
lastsonline?: IUserFields[] lastsonline?: IUserFields[]
lastssharedlink?: IUserFields[]
diffusorilist?: IUserFields[] diffusorilist?: IUserFields[]
checkuser?: ICheckUser | any checkuser?: ICheckUser | any
numreg_untilday?: number numreg_untilday?: number

View File

@@ -927,7 +927,21 @@ const msg_enUs = {
}, },
otherfilters: { otherfilters: {
name: 'Altri Filtri' name: 'Altri Filtri'
} },
statusreg: {
reg: 'Participants',
passeggeri: 'Passengers Ships',
giainlista: 'Already in the List',
newreg: 'New registrations:',
nationality: 'Nationality',
verified: 'Verified',
nonverified: 'Not Verified',
req7: 'With 5 steps you enter the boarding list.',
req9: 'With 7 steps help {sitename} to grow!',
req: 'Steps',
people: 'Gue.',
peoplelegend: 'Number of guests',
},
}, },
}; };

View File

@@ -438,7 +438,7 @@ const msg_it = {
invitato_regalato: 'Invitato Regalato', invitato_regalato: 'Invitato Regalato',
invitante_regalato: 'Invitante Regalato', invitante_regalato: 'Invitante Regalato',
legenda: 'Legenda', legenda: 'Legenda',
aportador_solidario: 'Chi ti ha Invitato', aportador_solidario: 'Username di chi ti ha Invitato',
verified_by_aportador: 'Verificato', verified_by_aportador: 'Verificato',
notAsk_ToVerify: 'No Verif. Reg', notAsk_ToVerify: 'No Verif. Reg',
trust_modified: 'Fiducia Modificata', trust_modified: 'Fiducia Modificata',
@@ -454,6 +454,8 @@ const msg_it = {
reflink: 'Link da condividere ai tuoi invitati:', reflink: 'Link da condividere ai tuoi invitati:',
linkzoom: 'Link per entrare in Zoom:', linkzoom: 'Link per entrare in Zoom:',
page_title: 'Registrazione', page_title: 'Registrazione',
invitante: 'Sei stato invitato da qualcuno?',
invited_i_know: '',
made_gift: 'Dono', made_gift: 'Dono',
note: 'Note', note: 'Note',
detailsPage: 'Pagina Dettagliata sul Gruppo', detailsPage: 'Pagina Dettagliata sul Gruppo',
@@ -488,7 +490,7 @@ const msg_it = {
teleg_id_old: 'OLD Tel ID', teleg_id_old: 'OLD Tel ID',
teleg_auth: 'Codice Autorizzazione', teleg_auth: 'Codice Autorizzazione',
click_per_copiare: 'Cliccaci sopra per copiarlo sugli appunti', click_per_copiare: 'Cliccaci sopra per copiarlo sugli appunti',
invitante: 'Username di chi ti ha invitato', invitante: 'Ti ha invitato qualcuno a far parte di RISO?',
link_reg: 'Clicca per copiare il link da condividere agli Amici', link_reg: 'Clicca per copiare il link da condividere agli Amici',
link_reg_and_msg: 'Condividi Link ad Amici', link_reg_and_msg: 'Condividi Link ad Amici',
copia_messaggio: 'Copia Messaggio', copia_messaggio: 'Copia Messaggio',
@@ -515,6 +517,7 @@ const msg_it = {
username_pseudonimo: 'Username (Pseudonimo)', username_pseudonimo: 'Username (Pseudonimo)',
username_short: 'Username', username_short: 'Username',
name: 'Nome', name: 'Nome',
name_opt: 'Nome (Facoltativo)',
surname: 'Cognome', surname: 'Cognome',
surname_opt: 'Cognome (facoltativo)', surname_opt: 'Cognome (facoltativo)',
username_login: 'Username o email', username_login: 'Username o email',
@@ -617,8 +620,8 @@ const msg_it = {
repeatpassword: 'ripetere la password', repeatpassword: 'ripetere la password',
}, },
byemail: 'Registrati con l\'Email',
bytelegram: 'Registrati con Telegram', bytelegram: 'Registrati con Telegram',
byemail: 'Registrati con l\'Email',
}, },
op: { op: {
qualification: 'Qualifica', qualification: 'Qualifica',
@@ -1337,7 +1340,30 @@ const msg_it = {
showViewProfile: 'Bott. Profile', showViewProfile: 'Bott. Profile',
enablePwa: 'PWA', enablePwa: 'PWA',
} },
statusreg: {
reg: 'Partecipanti',
verifieds: 'Verificati',
online_today: 'On Line Oggi',
autorizzati: 'Autorizzati',
autorizzare: 'In attesa di Abilitazione',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Registrati',
onlineusers: 'OnLine',
diffusori: 'Diffusori',
sharedlink: 'Diffusori',
nationality: 'Nazionalità',
nationality_born: 'Nazione di Nascita',
verified: 'Verificata',
nonverified: 'Non Verificata',
req7: 'Con 5 passi entri nella lista d\'Imbarco',
req9: 'Con 7 passi aiuti {sitename} a Crescere!',
req: 'Passi',
people: 'Inv.',
peoplelegend: 'Numero d\'Invitati',
},
}, },
}; };

View File

@@ -31,6 +31,8 @@ export default defineComponent({
created() created()
return {} return {
tools,
}
}, },
}) })

View File

@@ -1,6 +1,6 @@
<template> <template>
<q-page padding class="signup"> <q-page padding class="signup">
<CSignUp :showcell="false" :showaportador="false" :show_namesurname="true" :need_Telegram="false"> <CSignUp :showcell="false" :showaportador="tools.getAskToVerifyReg()" :show_namesurname="true" :need_Telegram="false">
</CSignUp> </CSignUp>
</q-page> </q-page>