Version 0.5.25
Registration with no need to insert "invitante"
This commit is contained in:
@@ -306,8 +306,15 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="isalreadyReg">
|
||||
<q-banner class="bg-negative text-white text-h5" transition-show="jump-down">
|
||||
Utente già registrato con l'username {{signup.username}}
|
||||
</q-banner>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -61,8 +61,34 @@ export default defineComponent({
|
||||
const globalStore = useGlobalStore()
|
||||
const testStore = useTestStore()
|
||||
|
||||
const data = ref({
|
||||
registration: null,
|
||||
updateExists: false,
|
||||
} as any)
|
||||
|
||||
const refreshing = ref(false)
|
||||
|
||||
const stateconn = ref(globalStore.stateConnection)
|
||||
|
||||
function updateAvailable(event: any) {
|
||||
console.log(event)
|
||||
data.value.registration = event.detail
|
||||
data.value.updateExists = true
|
||||
RefreshApp() // update automatically
|
||||
}
|
||||
|
||||
function created() {
|
||||
document.addEventListener('swUpdated', updateAvailable, { once: true })
|
||||
navigator.serviceWorker.addEventListener('controllerchange', () => {
|
||||
// We'll also need to add 'refreshing' to our data originally set to false.
|
||||
if (refreshing.value)
|
||||
return
|
||||
refreshing.value = true
|
||||
// Here the actual reload of the page occurs
|
||||
window.location.reload()
|
||||
})
|
||||
}
|
||||
|
||||
const {
|
||||
getUsernameChatByMsg,
|
||||
getMyUsername,
|
||||
@@ -81,7 +107,7 @@ export default defineComponent({
|
||||
getNumMsg,
|
||||
getNumMsgUnread,
|
||||
getMsgText,
|
||||
paotest } = MixinUsers();
|
||||
paotest } = MixinUsers()
|
||||
|
||||
function isonline() {
|
||||
return globalStore.stateConnection === 'online'
|
||||
@@ -135,8 +161,8 @@ export default defineComponent({
|
||||
// console.log('PRIMA $q.lang.isoName', $q.lang.isoName)
|
||||
|
||||
// dynamic import, so loading on demand only
|
||||
import(`quasar/lang/${mylang}`).then((lang) => {
|
||||
$q.lang.set(lang.default)
|
||||
import(`quasar/lang/${mylang}`).then((lang2: any) => {
|
||||
$q.lang.set(lang2.default)
|
||||
|
||||
import('../../statics/i18n').then(() => {
|
||||
// console.log('MY LANG DOPO=', $q.lang.isoName)
|
||||
@@ -146,9 +172,9 @@ export default defineComponent({
|
||||
globalStore.addDynamicPages($router)
|
||||
}
|
||||
|
||||
function setshortlang(lang: string) {
|
||||
function setshortlang(mylang: string) {
|
||||
static_data.lang_available.forEach((langavail) => {
|
||||
if (langavail.value === lang) {
|
||||
if (langavail.value === mylang) {
|
||||
// console.log('static_data.lang_available[indrec].short', static_data.lang_available[indrec].short, static_data.lang_available[indrec].value)
|
||||
langshort.value = langavail.short
|
||||
return langshort.value
|
||||
@@ -209,7 +235,6 @@ export default defineComponent({
|
||||
const lang = computed({
|
||||
get: () => $q.lang.isoName,
|
||||
set: mylang => {
|
||||
const $router = useRouter()
|
||||
console.log('set lang', $q.lang.getLocale())
|
||||
$q.lang.set(snakeToCamel(mylang))
|
||||
// tools.showNotif($q, 'IMPOSTA LANG= ' + $i18n.locale)
|
||||
@@ -282,12 +307,19 @@ export default defineComponent({
|
||||
|
||||
function RefreshApp() {
|
||||
// Unregister Service Worker
|
||||
/*
|
||||
navigator.serviceWorker.getRegistrations().then((registrations) => {
|
||||
for (const registration of registrations) {
|
||||
registration.unregister()
|
||||
}
|
||||
})
|
||||
window.location.reload()
|
||||
window.location.reload() */
|
||||
|
||||
data.value.updateExists = false
|
||||
// Make sure we only send a 'skip waiting' message if the SW is waiting
|
||||
if (!data.value.registration || !data.value.registration.waiting) return
|
||||
// Send message to SW to skip the waiting and activate the new SW
|
||||
data.value.registration.waiting.postMessage({ type: 'SKIP_WAITING' })
|
||||
}
|
||||
|
||||
function changeIconConn() {
|
||||
@@ -397,7 +429,6 @@ export default defineComponent({
|
||||
function clickregister() {
|
||||
rightDrawerOpen.value = false
|
||||
|
||||
const $router = useRouter()
|
||||
$router.replace('/signup')
|
||||
}
|
||||
|
||||
@@ -444,6 +475,8 @@ export default defineComponent({
|
||||
onBeforeMount(BeforeMount)
|
||||
onMounted(mounted)
|
||||
|
||||
created()
|
||||
|
||||
return {
|
||||
static_data,
|
||||
globalStore,
|
||||
@@ -493,6 +526,7 @@ export default defineComponent({
|
||||
logoutHandler,
|
||||
isUserNotAuth,
|
||||
tools,
|
||||
data,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<q-btn
|
||||
size="md"
|
||||
id="newvers" v-if="isNewVersionAvailable()" color="secondary" rounded icon="refresh"
|
||||
id="newvers" v-if="isNewVersionAvailable() || data.updateExists" color="secondary" rounded icon="refresh"
|
||||
class="btnNewVersShow" @click="RefreshApp()" :label="t('notification.newVersionAvailable')">
|
||||
</q-btn>
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'Arcadei',
|
||||
siteshortname: 'ARCADEI',
|
||||
description: 'Arcadei è un modello di aggregazione sociale a base umanitaria finalizzato alla tutela dell’Essere Umano e dei suoi inalienabili diritti naturali. Una Piattaforma di Umani liberi e cooperanti che persegue e sviluppa modelli finalizzati all’autodeterminazione e all’ esercizio della naturale Sovranità individuale e collettiva per dare vita alle necessarie Autonomie Alimentari, Spirituali, Energetiche, Economiche e Sanitarie indispensabili allo sviluppo del libero e pieno potenziale umano.',
|
||||
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,7 +54,6 @@ 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',
|
||||
SignUpBot: 'Registrati',
|
||||
@@ -114,10 +113,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',
|
||||
@@ -144,8 +141,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',
|
||||
@@ -160,37 +157,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: {
|
||||
@@ -238,9 +230,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à',
|
||||
|
||||
@@ -7,29 +7,29 @@ import {
|
||||
import { func } from '@store/Modules/fieldsTable'
|
||||
|
||||
const functionality: IFunctionality = {
|
||||
PWA: false,
|
||||
PWA: true,
|
||||
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,
|
||||
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: false,
|
||||
SHOW_COINS: false,
|
||||
BOOKING_EVENTS: false,
|
||||
SHOW_NOTIF: true,
|
||||
SHOW_COINS: true,
|
||||
BOOKING_EVENTS: true,
|
||||
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_GROUPS: true,
|
||||
ENABLE_CIRCUITS: true,
|
||||
SHOW_COMPETENZE: true,
|
||||
ENABLE_VIEW_GROUPS: true,
|
||||
ENABLE_VIEW_USERS: true,
|
||||
ENABLE_VIEW_PROFILE: true,
|
||||
}
|
||||
|
||||
@@ -270,21 +270,6 @@ const routes_manager: IListRoutes[] = [
|
||||
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,
|
||||
@@ -360,20 +345,6 @@ const routes_manager: IListRoutes[] = [
|
||||
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,
|
||||
@@ -505,12 +476,78 @@ const baseroutes: IListRoutes[] = [
|
||||
path: '/',
|
||||
materialIcon: 'home',
|
||||
name: 'pages.home',
|
||||
component: () => import('@src/root_spec/home_arcadei/home_arcadei.vue'),
|
||||
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',
|
||||
@@ -520,7 +557,7 @@ const baseroutes: IListRoutes[] = [
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},*/
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
@@ -532,6 +569,17 @@ const baseroutes: 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: functionality.ENABLE_GROUPS,
|
||||
order: 132,
|
||||
@@ -575,7 +623,7 @@ const baseroutes: IListRoutes[] = [
|
||||
meta: { requiresAuth: true, newpage: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
}, {
|
||||
},{
|
||||
active: true,
|
||||
order: 137,
|
||||
path: '/circuit/:path',
|
||||
@@ -632,7 +680,7 @@ const baseroutes: IListRoutes[] = [
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 60,
|
||||
order: 150,
|
||||
path: '/fundraising',
|
||||
materialIcon: 'fas fa-hand-holding-heart',
|
||||
name: 'pages.fundraising',
|
||||
@@ -722,6 +770,17 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: functionality.ENABLE_REGISTRATION && functionality.ENABLE_REG_NEED_TELEGRAM,
|
||||
order: 1000,
|
||||
path: '/signup/:invited/:usernameteleg/:idteleg',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup/signup.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
},
|
||||
{
|
||||
active: functionality.ENABLE_REG_BY_BOT,
|
||||
order: 1000,
|
||||
@@ -732,17 +791,17 @@ const baseroutes: IListRoutes[] = [
|
||||
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'),
|
||||
component: () => import('@/views/login/signup/signup_noteleg.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
},
|
||||
},*/
|
||||
{
|
||||
active: true,
|
||||
order: 1001,
|
||||
@@ -772,7 +831,7 @@ const baseroutes: IListRoutes[] = [
|
||||
materialIcon: 'account_circle',
|
||||
name: 'pages.SignIn',
|
||||
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
|
||||
inmenu: false,
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
// --- NOT IN MENU: ---
|
||||
@@ -823,18 +882,6 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 55,
|
||||
path: '/iscrizione',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUpArcadei',
|
||||
component: () => import('@/views/login/iscrizionearcadei/iscrizionearcadei.vue'),
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
separator: false,
|
||||
onlyNotSoci: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 1000,
|
||||
|
||||
@@ -13,20 +13,33 @@ import { tools } from '@src/store/Modules/tools'
|
||||
import { static_data } from '@src/db/static_data'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { Screen } from 'quasar'
|
||||
import { CCardCarousel, CEventsCalendar, CMyElem, COpenStreetMap } from '@components'
|
||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
||||
import MixinBase from '@src/mixins/mixin-base'
|
||||
import { firstimagehome } from '@src/db/static_data'
|
||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'home_arcadei',
|
||||
components: { Logo, LandingFooter, CMyPage, CMyElem },
|
||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
||||
|
||||
setup() {
|
||||
const animare = ref(0)
|
||||
const slide = ref('first')
|
||||
const slide2 = ref(1)
|
||||
|
||||
const getImmagini = ref([
|
||||
{
|
||||
title: '', subtitle: '',
|
||||
alt: 'Arcadei',
|
||||
img: 'images/arcadei/img1.png'
|
||||
},
|
||||
])
|
||||
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const { setValDb, getValDb } = MixinBase()
|
||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
||||
|
||||
function getheightgallery() {
|
||||
if (tools.isMobile())
|
||||
@@ -39,15 +52,26 @@ export default defineComponent({
|
||||
//
|
||||
}
|
||||
|
||||
function getArrDisciplines() {
|
||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
||||
}
|
||||
|
||||
created()
|
||||
|
||||
return {
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
animare,
|
||||
slide,
|
||||
slide2,
|
||||
getheightgallery,
|
||||
getArrDisciplines,
|
||||
getImmagini,
|
||||
getValDb,
|
||||
globalStore,
|
||||
firstimagehome,
|
||||
getsrcbyimg,
|
||||
setmeta,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,11 +1,214 @@
|
||||
<template>
|
||||
<q-page>
|
||||
<CMyPage title="Home">
|
||||
<span v-for="(myelem, ind) in globalStore.myelems" :key="ind">
|
||||
<CMyElem v-if="myelem.active" :myelem="myelem">
|
||||
<div class="landing">
|
||||
<section>
|
||||
<div class="landing__hero maxwidth1200 text-white">
|
||||
<q-carousel
|
||||
animated
|
||||
:autoplay="animare"
|
||||
swipeable
|
||||
infinite
|
||||
navigation
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide"
|
||||
:height="getheightgallery()"
|
||||
width="100%"
|
||||
>
|
||||
<q-carousel-slide name="first"
|
||||
:img-src="getsrcbyimg(firstimagehome())">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||
|
||||
</div>
|
||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||
|
||||
</CMyElem>
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<br>
|
||||
<br>
|
||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="second"
|
||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp')}}
|
||||
</h2>
|
||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
||||
</h2>
|
||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp3')}}
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="third"
|
||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</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 class="text-subtitle3 shadow text-italic q-pl-sm ">
|
||||
{{$t('msg.sottoTitoloApp4')}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<!--<i aria-hidden="true"-->
|
||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="q-pa-md q-gutter-md">
|
||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
||||
$t('components.authentication.email_verification.link_sent') }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<CCardCarousel :myarr="getArrDisciplines()">
|
||||
|
||||
</CCardCarousel>
|
||||
|
||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
||||
|
||||
</CEventsCalendar>
|
||||
|
||||
|
||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||
|
||||
<div class="text-center">
|
||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
||||
<div class="">
|
||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||
|
||||
<!--</q-video>-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||
|
||||
<div class="text-center">
|
||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
||||
<div class="">
|
||||
|
||||
<div class="">
|
||||
<iframe
|
||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
||||
:src="getValDb('YT_VIDEO', false)"
|
||||
frameborder="0"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||
|
||||
<!--</q-video>-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
||||
|
||||
<q-carousel
|
||||
swipeable
|
||||
animated
|
||||
:autoplay="8000"
|
||||
v-model="slide2"
|
||||
arrows
|
||||
thumbnails
|
||||
infinite
|
||||
height="600">
|
||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
||||
:img-src="rec.img"
|
||||
:alt="rec.alt"
|
||||
class="carousel_slide">
|
||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
||||
<div class="text-h5"><span
|
||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
</section>
|
||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
||||
|
||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
||||
|
||||
</COpenStreetMap>
|
||||
|
||||
|
||||
<div class="q-ma-md"></div>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</q-page>
|
||||
</template>
|
||||
|
||||
@@ -28,6 +28,11 @@ export default defineComponent({
|
||||
const slide2 = ref(1)
|
||||
|
||||
const getImmagini = ref([
|
||||
{
|
||||
title: '', subtitle: '',
|
||||
alt: 'Elisa e Cristina insieme',
|
||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
||||
},
|
||||
])
|
||||
|
||||
const userStore = useUserStore()
|
||||
|
||||
Reference in New Issue
Block a user