sito Terra Della Visione...3
Pagina Operatori
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="12"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -2,6 +2,8 @@ const msg_website_it = {
|
||||
ws: {
|
||||
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à',
|
||||
@@ -27,6 +29,7 @@ const msg_website_it = {
|
||||
myservice2: 'myservice2',
|
||||
myhosps2: 'myhosps2',
|
||||
mygood2: 'mygood2',
|
||||
fundraising: 'Sostieni il Progetto',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
@@ -198,14 +201,25 @@ const msg_website_it = {
|
||||
+ '</ul>',
|
||||
},
|
||||
freesostieni: {
|
||||
title: 'Come Sostenere il progetto?',
|
||||
title: 'Come Sostenere il progetto <strong>Riso.app</strong>?',
|
||||
descr: '<ul class="mylist" style="padding-left: 20px;">'
|
||||
+ '<li>📱<strong>Condividendo la APP</strong> a tutti coloro che vogliono far parte insieme della crescita e sviluppo di una Nuova Era</li>'
|
||||
+ '<li>👥 Aiutando a creare Gruppi Territoriali nella vostra città, impegnandosi a realizzare progetti per il Bene Comune, in onore ai principi Amorevoli e di condivisione.</li>'
|
||||
+ '<li>🌱 Sostenendo le persone attorno a voi, e rispettando la nostra vera Casa: Madre Natura e Tutti gli Esseri Viventi. ❤️</li>'
|
||||
+ '<li>👨🏻💻 Tramite una piccola donazione per le spese dei Server.<br>'
|
||||
+ '</ul><br>'
|
||||
+ 'Vediamo un <strong>futuro</strong> dove non si utilizzerà più denaro. Dove le persone si <strong>aiuteranno</strong> a vicenda e non avranno bisogno di "possedere" cose, ma le <strong>condivideranno e scambieranno</strong> con gli altri.<br>',
|
||||
+ '<li>👨🏻💻 Con una <strong>piccola donazione</strong> per le spese dei Server</li></ul>' +
|
||||
'<strong>Tramite Paypal:</strong><br><em>clicca sull\'importo per fare una donazione. </em><br>' +
|
||||
'<div style="font-size: 1.5rem; background-color: white; color: blue; border: solid 2px #f00; margin: 10px; padding: 10px; border-radius: 10px; " ' +
|
||||
'class="row justify-around">' +
|
||||
'<span><a href="https://paypal.me/paoloarena/1" target="_blank">1€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/2" target="_blank">2€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/5" target="_blank">5€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/10" target="_blank">10€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena" target="_blank">scegli</a></span>' +
|
||||
'</div><br>' +
|
||||
'In alternativa inventati una forma di scambio da donare a Paolo (soprannome <a href="https://t.me/surya1977" target="_blank">Surya</a>)<br />' +
|
||||
'<span style="color: red; font-size: 2rem;">❤</span> Sono graditi messaggi sia di suggerimenti che di apprezzamenti.<br>' +
|
||||
'Grazie Mille per l\'Aiuto' +
|
||||
'<br>',
|
||||
},
|
||||
multiplatform: {
|
||||
title: 'Multi-piattaforma',
|
||||
|
||||
@@ -22,6 +22,9 @@ const functionality: IFunctionality = {
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: true,
|
||||
SHOW_COMPETENZE: true,
|
||||
ENABLE_VIEW_GROUPS: true,
|
||||
ENABLE_VIEW_USERS: true,
|
||||
ENABLE_VIEW_PROFILE: true,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -623,6 +626,16 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 150,
|
||||
path: '/fundraising',
|
||||
materialIcon: 'fas fa-hand-holding',
|
||||
name: 'pages.fundraising',
|
||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 400,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "0.3.19",
|
||||
"description": "Riso",
|
||||
"version": "0.3.21",
|
||||
"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,
|
||||
|
||||
@@ -288,12 +288,17 @@ module.exports = configure((ctx) => ({
|
||||
manifest: {
|
||||
name: 'Riso',
|
||||
short_name: 'Riso',
|
||||
description: '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-96x96.png',
|
||||
sizes: '96x96',
|
||||
@@ -314,11 +319,6 @@ module.exports = configure((ctx) => ({
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.19"
|
||||
APP_VERSION="0.3.21"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
sitename: 'Terra Della Visione',
|
||||
siteshortname: 'TDV',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
@@ -136,89 +136,19 @@ const msg_website_it = {
|
||||
color: 'Colore',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'TerraDellaVisione',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
myAppName: 'Terra Della Visione',
|
||||
myAppDescription: '',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Il primo Vero Social',
|
||||
sottoTitoloApp2: 'Libero, Equo e Solidale',
|
||||
sottoTitoloApp3: 'dove Vive Consapevolezza e Aiuto Comunitario',
|
||||
sottoTitoloApp4: 'Gratuito e senza Pubblicità',
|
||||
sottoTitoloApp: 'Centro per ritiri CurArte',
|
||||
sottoTitoloApp2: 'un viaggio nella Natura',
|
||||
sottoTitoloApp3: 'per incontrare il tuo essere potrai partecipare a sessioni di yoga, meditazione, massaggi, danze, eventi musicali, cibo naturale vegetariano/vegano, laboratori artigianali',
|
||||
sottoTitoloApp4: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana di Scambio Orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' 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.',
|
||||
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à.',
|
||||
},
|
||||
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.'
|
||||
},
|
||||
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.',
|
||||
|
||||
},
|
||||
freecollabora: {
|
||||
title: 'Chi può Collaborare?',
|
||||
descr: 'Tutti coloro che sono in linea con <strong>Princìpi Etici</strong> e ricerca del <strong>Benessere Globale del Pianeta</strong><br>'
|
||||
+ 'Pertanto sono i benvenuti:'
|
||||
+ '<ul class="mylist" style="padding-left: 20px;">'
|
||||
+ '<li><strong>Associazioni no-profit, Ecovillaggi, Comunità</strong></li>'
|
||||
+ '<li>Gruppi che intendono promuovere <strong>Progetti Sociali Innovativi</strong> per una <strong>Decrescita Felice</strong></li>'
|
||||
+ '<li>Chi gestisce un <strong>Gruppo di Acquisto Solidale (G.A.S.)</strong></li>'
|
||||
+ '<li><strong>Produttori Locali Etici</strong></li>'
|
||||
+ '<li><strong>Chiunque voglia partecipare</strong>, nella forma che ritiene più opportuna.</li>'
|
||||
+ '</ul>',
|
||||
},
|
||||
freesostieni: {
|
||||
title: 'Come Sostenere il progetto?',
|
||||
descr: '<ul class="mylist" style="padding-left: 20px;">'
|
||||
+ '<li>📱<strong>Condividendo la APP</strong> a tutti coloro che vogliono far parte insieme della crescita e sviluppo di una Nuova Era</li>'
|
||||
+ '<li>👥 Aiutando a creare Gruppi Territoriali nella vostra città, impegnandosi a realizzare progetti per il Bene Comune, in onore ai principi Amorevoli e di condivisione.</li>'
|
||||
+ '<li>🌱 Sostenendo le persone attorno a voi, e rispettando la nostra vera Casa: Madre Natura e Tutti gli Esseri Viventi. ❤️</li>'
|
||||
+ '<li>👨🏻💻 Tramite una piccola donazione per le spese dei Server.<br>'
|
||||
+ '</ul><br>'
|
||||
+ 'Vediamo un <strong>futuro</strong> dove non si utilizzerà più denaro. Dove le persone si <strong>aiuteranno</strong> a vicenda e non avranno bisogno di "possedere" cose, ma le <strong>condivideranno e scambieranno</strong> con gli altri.<br>',
|
||||
},
|
||||
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. '
|
||||
+ 'basta entrare sul sito <strong>www.terradellavisione.app</strong>.<br>'
|
||||
+ 'Dopo la registrazione chiederà di aggiungerlo allo schermo (o cliccare sul menu del browser "Installa APP")',
|
||||
},
|
||||
free: {
|
||||
title: 'Gratuita, Open Source e Niente Pubblicità',
|
||||
descr: 'Questa App <strong>non è in vendita</strong>, non ha scopi commerciali, quindi <strong>non ha prezzo</strong> e nessun dato contenuto in esso verrà mai venduto, in quanto appartiene a <strong>Tutti Noi</strong> ed a nessuno in particolare.<br>Chiunque potrá utilizzarla e beneficiarne da essa.<br>' +
|
||||
'<em>Progetto Open Source su <a href="https://github.com/paoloar77/newfreeplanet" target="_blank">GitHub</a>.</em><br><br>'
|
||||
+ '<strong>Grazie a Tutti per il sostegno</strong>. ',
|
||||
},
|
||||
descrapp_title1: '',
|
||||
descrapp_pag1: '',
|
||||
descrapp_pag2: '',
|
||||
titlecontatti: 'Contatti',
|
||||
contacts: '',
|
||||
},
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_si = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
botname: 'TerraDellaVisione BOT',
|
||||
sitename: 'Terra Della Visione',
|
||||
siteshortname: 'Terra Della Visione',
|
||||
botname: 'Terra Della Visione BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Domača stran',
|
||||
|
||||
@@ -9,7 +9,7 @@ const functionality: IFunctionality = {
|
||||
PWA: true,
|
||||
SHOW_USER_MENU: true, // Cambiare con true
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
SHOW_REG_BUTTON: true,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: true,
|
||||
@@ -20,7 +20,12 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: true,
|
||||
ENABLE_GROUPS: false,
|
||||
SHOW_COMPETENZE: false,
|
||||
ENABLE_VIEW_GROUPS: false,
|
||||
ENABLE_VIEW_USERS: false,
|
||||
ENABLE_VIEW_PROFILE: false,
|
||||
ENABLE_VIEW_BOOKINGS: true,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -321,6 +326,34 @@ const routes_manager: IListRoutes[] = [
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/operators',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.operators',
|
||||
component: () => import('@/rootgen/admin/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/disciplines',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.disciplines',
|
||||
component: () => import('@/rootgen/admin/disciplines/disciplines.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
@@ -542,21 +575,10 @@ const baseroutes: IListRoutes[] = [
|
||||
{
|
||||
active: functionality.ENABLE_REGISTRATION,
|
||||
order: 1000,
|
||||
path: '/signup/:invited/:usernameteleg/:idteleg',
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup/signup.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'),
|
||||
component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
@@ -615,10 +637,20 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
path: '/separator',
|
||||
name: 'separator',
|
||||
order: 35,
|
||||
order: 1010,
|
||||
isseparator: true,
|
||||
inmenu: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 70,
|
||||
path: '/chisiamo',
|
||||
materialIcon: 'event',
|
||||
name: 'pages.chisiamo',
|
||||
component: () => import('@/rootgen/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 80,
|
||||
@@ -627,8 +659,8 @@ const baseroutes: IListRoutes[] = [
|
||||
name: 'pages.calendarioeventi',
|
||||
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||
extraclass: 'isCalendar',
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
@@ -660,11 +692,21 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/admin/eventlist',
|
||||
materialIcon: 'fas fa-calendar-plus',
|
||||
name: 'otherpages.admin.eventlist',
|
||||
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
|
||||
]
|
||||
export function firstimagehome() {
|
||||
|
||||
let img = 'statics/images/background.jpg'
|
||||
let img = 'images/foto1.jpg'
|
||||
return img
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "terradellavisione",
|
||||
"version": "0.3.19",
|
||||
"version": "0.3.21",
|
||||
"description": "TerraDellaVisione",
|
||||
"productName": "TerraDellaVisione",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -286,14 +286,19 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
|
||||
manifest: {
|
||||
name: 'TerraDellaVisione',
|
||||
short_name: 'TerraDellaVisione',
|
||||
description: 'TerraDellaVisione',
|
||||
name: 'Terra Della Visione',
|
||||
short_name: 'Terra della Visione',
|
||||
description: 'Centro per ritiri CurArte: un viaggio nella Natura per incontrare il tuo essere potrai partecipare a sessioni di yoga, meditazione, massaggi, danze, eventi musicali, cibo naturale vegetariano/vegano, laboratori artigianali',
|
||||
display: 'standalone',
|
||||
orientation: 'portrait',
|
||||
background_color: '#ffffff',
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/tdv-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
@@ -314,11 +319,6 @@ module.exports = configure((ctx) => ({
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -328,12 +328,6 @@ body.mobile .landing:before {
|
||||
padding: .62rem;
|
||||
}
|
||||
|
||||
.carousel_img_3 {
|
||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
||||
background-size: cover !important;
|
||||
background-position: 50% center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
@media (max-width: 718px) {
|
||||
// PER VERSIONE MOBILE
|
||||
|
||||
@@ -17,6 +17,7 @@ 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'
|
||||
import { IGallery } from 'model'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Home_tdv',
|
||||
@@ -25,13 +26,13 @@ export default defineComponent({
|
||||
setup() {
|
||||
const animare = ref(0)
|
||||
const slide = ref('first')
|
||||
const slide2 = ref(1)
|
||||
const slide2 = ref(0)
|
||||
|
||||
const getImmagini = ref([
|
||||
{
|
||||
title: '', subtitle: '',
|
||||
alt: 'Elisa e Cristina insieme',
|
||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
||||
alt: 'Noi insieme',
|
||||
img: 'images/terradellavisione_noi.jpg'
|
||||
},
|
||||
])
|
||||
|
||||
@@ -56,6 +57,26 @@ export default defineComponent({
|
||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
||||
}
|
||||
|
||||
function getGall(): any {
|
||||
return globalStore.gallery.find((rec: any) => rec.title === 'slidehome')
|
||||
}
|
||||
|
||||
function getArrImgSlideHome() {
|
||||
const mygall: any = getGall()
|
||||
if (!!mygall) {
|
||||
return mygall.list
|
||||
}
|
||||
return []
|
||||
}
|
||||
|
||||
function getdirectory() {
|
||||
const mygall: any = getGall()
|
||||
if (!!mygall) {
|
||||
return 'upload/' + mygall.directory
|
||||
}
|
||||
return []
|
||||
}
|
||||
|
||||
created()
|
||||
|
||||
return {
|
||||
@@ -67,7 +88,9 @@ export default defineComponent({
|
||||
slide2,
|
||||
getheightgallery,
|
||||
getArrDisciplines,
|
||||
getArrImgSlideHome,
|
||||
getImmagini,
|
||||
getdirectory,
|
||||
getValDb,
|
||||
firstimagehome,
|
||||
getsrcbyimg,
|
||||
|
||||
@@ -17,114 +17,65 @@
|
||||
width="100%"
|
||||
>
|
||||
<q-carousel-slide name="first"
|
||||
:img-src="getsrcbyimg(firstimagehome())">
|
||||
:img-src="getsrcbyimg(firstimagehome())" class="carousel_img">
|
||||
<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">
|
||||
|
||||
</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>
|
||||
<h1 class="text-h1 shadow-max">{{ tools.getappname() }}</h1>
|
||||
</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="">
|
||||
:img-src="getsrcbyimg('images/foto2.jpg')" alt="" class="carousel_img">
|
||||
<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">{{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>
|
||||
<h1 class="text-h1 shadow-max">{{ tools.getappname() }}</h1>
|
||||
</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')">
|
||||
:img-src="getsrcbyimg('images/foto3.jpg')" class="carousel_img">
|
||||
<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">{{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 class="text-h1 shadow-max">{{ tools.getappname() }}</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 class="text-grey-9">
|
||||
<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-subtitle1 shadow text-italic q-pl-sm bg-home ">
|
||||
{{ $t('msg.sottoTitoloApp3') }}
|
||||
</h2>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="q-pa-md q-gutter-md">
|
||||
<div v-if="tools.isLogged() && !tools.isVerified()" class="text-verified">{{
|
||||
<!--<div v-if="tools.isLogged() && !tools.isVerified()" class="text-verified">{{
|
||||
$t('components.authentication.email_verification.link_sent') }}
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<CCardCarousel :myarr="getArrDisciplines()">
|
||||
<CCardCarousel :myarr="getArrDisciplines()" directory="upload/disciplines/">
|
||||
|
||||
</CCardCarousel>
|
||||
|
||||
@@ -174,7 +125,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center">
|
||||
|
||||
<q-carousel
|
||||
swipeable
|
||||
@@ -185,23 +136,21 @@
|
||||
thumbnails
|
||||
infinite
|
||||
:height="tools.heightgallery()">
|
||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
||||
:img-src="rec.img"
|
||||
:alt="rec.alt"
|
||||
<q-carousel-slide v-for="(rec, index) in getArrImgSlideHome()" :key="index" :name="index"
|
||||
:img-src="getdirectory() + '/' + rec.imagefile"
|
||||
:alt="rec.description"
|
||||
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>
|
||||
class="text-h6 text-grey-1 shadow-max">{{ index + 1 }}. </span><span
|
||||
class="text-h6 text-grey-2 shadow">{{ rec.description }}</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)"
|
||||
<COpenStreetMap v-if="false" :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>
|
||||
@@ -216,5 +165,5 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './home_tdv.scss';
|
||||
@import './home_tdv.scss';
|
||||
</style>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "terradellavisione",
|
||||
"version": "0.3.19",
|
||||
"version": "0.3.21",
|
||||
"description": "TerraDellaVisione",
|
||||
"productName": "TerraDellaVisione",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
BIN
public/images/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 3.5 KiB |
BIN
public/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 165 KiB |
BIN
public/images/logo-full.png
Executable file
|
After Width: | Height: | Size: 86 KiB |
BIN
public/images/noi4.jpg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
public/images/pdnm-android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/images/pdnm-android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
public/images/pdnm-android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/images/pdnm-android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/images/pdnm-apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/images/pdnm-apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
public/images/pdnm-apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/images/pdnm-apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
public/images/pdnm-apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
5
public/images/tdv/.directory
Normal file
@@ -0,0 +1,5 @@
|
||||
[Dolphin]
|
||||
PreviewsShown=true
|
||||
Timestamp=2022,5,21,3,32,0
|
||||
Version=4
|
||||
ViewMode=1
|
||||
BIN
public/images/tdv/chiara_amore.jpg
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
public/images/tdv/sasha.jpg
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
public/images/tdv/surya.jpg
Normal file
|
After Width: | Height: | Size: 28 KiB |
@@ -286,14 +286,19 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
|
||||
manifest: {
|
||||
name: 'TerraDellaVisione',
|
||||
short_name: 'TerraDellaVisione',
|
||||
description: 'TerraDellaVisione',
|
||||
name: 'Terra Della Visione',
|
||||
short_name: 'Terra della Visione',
|
||||
description: 'Centro per ritiri CurArte: un viaggio nella Natura per incontrare il tuo essere potrai partecipare a sessioni di yoga, meditazione, massaggi, danze, eventi musicali, cibo naturale vegetariano/vegano, laboratori artigianali',
|
||||
display: 'standalone',
|
||||
orientation: 'portrait',
|
||||
background_color: '#ffffff',
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/tdv-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
@@ -314,11 +319,6 @@ module.exports = configure((ctx) => ({
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
324
src/App.scss
@@ -1,324 +0,0 @@
|
||||
body {
|
||||
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: #373737;
|
||||
line-height: 1.5;
|
||||
//font-size: 1rem;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 100%; // default font size (browser 16) -> (10 62.5%)
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 125%; // default font size (browser 16) -> (10 62.5%)
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
|
||||
$grayshadow: #555;
|
||||
|
||||
$graytext: #555;
|
||||
|
||||
$textcol: blue;
|
||||
$textcol_scuro: darkblue;
|
||||
$heightBtn: 100%;
|
||||
|
||||
.flex-item {
|
||||
// background-color: #d5e2eb;
|
||||
display: flex;
|
||||
padding: 2px;
|
||||
margin: 2px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
color: #000;
|
||||
font-size: 1rem;
|
||||
height: $heightBtn;
|
||||
line-height: $heightBtn;
|
||||
vertical-align: middle;
|
||||
//flex: 0 0 100%;
|
||||
}
|
||||
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
transition: opacity .2s;
|
||||
}
|
||||
|
||||
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */
|
||||
{
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.slide-enter {
|
||||
}
|
||||
|
||||
.slide-enter-active {
|
||||
animation: slide-in 0.2s ease-out forwards;
|
||||
}
|
||||
|
||||
.slide-leave {
|
||||
}
|
||||
|
||||
.slide-leave-active {
|
||||
animation: slide-out 0.5s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes slide-in {
|
||||
from {
|
||||
transform: translateX(-500px);
|
||||
}
|
||||
to {
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slide-out {
|
||||
from {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: translateX(1600px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.my-notif-class{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mybanner {
|
||||
font-weight: bold;
|
||||
font-size: 1.1rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lowperc {
|
||||
color: red;
|
||||
}
|
||||
.medperc {
|
||||
color: blue;
|
||||
}
|
||||
.highperc {
|
||||
color: green;
|
||||
}
|
||||
|
||||
|
||||
.hide-if-small {
|
||||
@media (max-width: 600px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.thiny-if-small {
|
||||
@media (max-width: 600px) {
|
||||
max-width: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.links, .links a {
|
||||
text-shadow: 1px 1px 1px #555 !important;
|
||||
// font-weight: bold;
|
||||
color: cornflowerblue !important;
|
||||
}
|
||||
.links:hover {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.text-subtitle1 {
|
||||
font-size: 1.35rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
text-shadow: .25 .25rem .5rem $grayshadow;
|
||||
letter-spacing: .00937em;
|
||||
&.big {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.text-subtitle2 {
|
||||
font-size: 1.15rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-subtitle3 {
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 718px) {
|
||||
// PER VERSIONE MOBILE
|
||||
|
||||
p {
|
||||
font-size: 100%; // default font size (browser 16) -> (10 62.5%)
|
||||
font-family: "Abyssinica SIL", serif;
|
||||
text-justify: auto;
|
||||
margin: 0 0 4px;
|
||||
}
|
||||
|
||||
.text-subtitle1 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.text-subtitle2 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.text-subtitle3 {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.cltexth3 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.text-big{
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.my-card {
|
||||
width: 100%;
|
||||
max-width: 350px;
|
||||
min-width: 300px;
|
||||
padding: 1rem 1rem;
|
||||
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.text-trans {
|
||||
opacity: 0.9;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
.text-spacetrans {
|
||||
padding: 0 !important;
|
||||
background: rgba(0,0,0,0.3) !important;
|
||||
border-radius: 30px !important;
|
||||
}
|
||||
|
||||
.text-shadow {
|
||||
text-shadow: .15rem .15rem .15rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-shadow-2 {
|
||||
text-shadow: .07rem .07rem .07rem $grayshadow;
|
||||
}
|
||||
|
||||
.citazione{
|
||||
font-size: 0.75rem;
|
||||
font-family: "Lucida Calligraphy", serif;
|
||||
}
|
||||
|
||||
.cltexth3, .cltexth2, .cltexth4 {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .01em;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.cltexth4 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.cltexth2 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.boldhigh, .boldop, .text-big{
|
||||
font-weight: 500;
|
||||
text-shadow: .05rem .05rem .05rem $grayshadow;
|
||||
}
|
||||
.boldop{
|
||||
color: darkblue;
|
||||
}
|
||||
|
||||
.text-big{
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.center_to_image{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.center_img {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.padding_cell {
|
||||
padding: 0.75rem 0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 3000px) {
|
||||
.q-parallax__media > img {
|
||||
max-height: 550px !important;
|
||||
min-width:inherit !important;
|
||||
min-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
.q-parallax__media > img {
|
||||
max-height: 500px !important;
|
||||
min-width:inherit !important;
|
||||
min-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
.q-parallax__media > img {
|
||||
max-height: 450px !important;
|
||||
min-width:inherit !important;
|
||||
min-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 718px) {
|
||||
.q-parallax__media > img {
|
||||
max-height: 450px !important;
|
||||
min-height: inherit !important;
|
||||
min-width:100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
// preloading images:
|
||||
@media screen {
|
||||
div#preloader {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
top: -9999px;
|
||||
}
|
||||
div#preloader img {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
div#preloader,
|
||||
div#preloader img {
|
||||
visibility: hidden;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.bg-home {
|
||||
background: fuchsia !important;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,3 @@
|
||||
</template>
|
||||
<script lang="ts" src="./App.ts">
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import './App.scss';
|
||||
</style>
|
||||
|
||||
@@ -2,6 +2,7 @@ import { defineComponent, ref } from 'vue'
|
||||
|
||||
import { CCardDiscipline } from '../CCardDiscipline'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CCardCarousel',
|
||||
@@ -11,15 +12,26 @@ export default defineComponent({
|
||||
type: Array,
|
||||
required: true,
|
||||
},
|
||||
directory: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
}
|
||||
},
|
||||
setup() {
|
||||
setup(props, { emit }) {
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
const slidedisc = ref(0)
|
||||
|
||||
function getimgdisc(disc: any) {
|
||||
return props.directory + tools.getimgev(disc)
|
||||
}
|
||||
|
||||
return {
|
||||
slidedisc,
|
||||
globalStore,
|
||||
tools,
|
||||
getimgdisc,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
<q-item
|
||||
clickable v-ripple
|
||||
:to="disc.linkpage">
|
||||
<q-item-section avatar v-if="tools.getimgev(disc)">
|
||||
<q-item-section avatar v-if="getimgdisc(disc)">
|
||||
<q-avatar>
|
||||
<img :src="tools.getimgev(disc)" :alt="disc.label">
|
||||
<img :src="getimgdisc(disc)" :alt="disc.label">
|
||||
</q-avatar>
|
||||
</q-item-section>
|
||||
<q-item-section>{{ disc.label }}</q-item-section>
|
||||
@@ -71,11 +71,11 @@
|
||||
<q-carousel-slide
|
||||
v-for="(myrec, index) in myarr"
|
||||
:key="index"
|
||||
:img-src="myrec.img_small"
|
||||
:img-src="directory + myrec.img_small"
|
||||
:alt="myrec.label"
|
||||
:name="index">
|
||||
<div class="row q-ma-xs">
|
||||
<CCardDiscipline :discipline="myrec" mystyle="height: 500px" autoplay.sync="globalStore.autoplaydisc">
|
||||
<CCardDiscipline :directory=directory :discipline="myrec" mystyle="height: 500px" autoplay.sync="globalStore.autoplaydisc">
|
||||
|
||||
</CCardDiscipline>
|
||||
</div>
|
||||
|
||||
@@ -19,6 +19,11 @@ export default defineComponent({
|
||||
Type: Object as PropType<IDiscipline>,
|
||||
required: true,
|
||||
},
|
||||
directory: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
mystyle: {
|
||||
type: String,
|
||||
required: false,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="my-card-shadow yes_shadow" style="opacity: 1 !important;">
|
||||
<q-card class="my-card-discipline text-center inset-shadow" :style="mystyle">
|
||||
<q-img :src="`public/` + discipline.img_small" class="myimg" :alt="discipline.label">
|
||||
<q-img :src="directory + discipline.img_small" class="myimg" :alt="discipline.label">
|
||||
<div class="absolute-bottom text-spacetrans">
|
||||
<q-btn rounded :to="discipline.linkpage">
|
||||
<div class="text-h5 disc__title shadow-max">{{ discipline.label }}</div>
|
||||
@@ -32,6 +32,7 @@
|
||||
</q-card-section>
|
||||
|
||||
<q-btn
|
||||
v-if="discipline.linkpage"
|
||||
class="q-mb-md" rounded size="md" color="primary" :to="discipline.linkpage"
|
||||
:label="$t('cal.readall')"></q-btn>
|
||||
</q-card>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</div>-->
|
||||
<div>
|
||||
<!-- display an myevent -->
|
||||
<q-dialog v-model="displayEvent">
|
||||
<q-dialog v-model="displayEvent" :maximized="$q.screen.lt.sm">
|
||||
<q-card v-if="myevent" class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<!--<q-toolbar :class="tools.displayClasses(myevent)"-->
|
||||
|
||||
463
src/components/CFundRaising/CFundRaising.scss
Executable file
@@ -0,0 +1,463 @@
|
||||
li {
|
||||
color: darkgreen !important;
|
||||
}
|
||||
|
||||
.testo-banda {
|
||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
||||
//background: rgba(0, 0, 0, .6)
|
||||
}
|
||||
|
||||
$grayshadow: #555;
|
||||
|
||||
$textcol: blue;
|
||||
$textcol_scuro: darkblue;
|
||||
|
||||
p {
|
||||
margin: 0 0 1.25rem;
|
||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.mycard {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.landing {
|
||||
}
|
||||
|
||||
.landing_background {
|
||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
||||
background-size: cover
|
||||
}
|
||||
|
||||
.landing > section {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
//padding: 0 16px
|
||||
}
|
||||
|
||||
.intro {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: stretch;
|
||||
/* flex-flow: row nowrap; */
|
||||
|
||||
padding: 1.25rem 0 1.25rem 0;
|
||||
margin: .125rem;
|
||||
|
||||
* {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&__associazione {
|
||||
min-width: 350px;
|
||||
}
|
||||
|
||||
&__comeassociarsi{
|
||||
min-width: 350px;
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
letter-spacing: 0.125rem;
|
||||
text-transform: uppercase;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding {
|
||||
padding: 5.62rem 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding_testo {
|
||||
padding-top: 1.25rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding_gallery {
|
||||
padding-top: 3.125rem;
|
||||
padding-bottom: 5.625rem;
|
||||
}
|
||||
|
||||
.landing > section > div {
|
||||
position: relative;
|
||||
max-width: 1240px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.landing__toolbar {
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
||||
background: linear-gradient(180deg, #000, transparent);
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.landing__toolbar .q-btn {
|
||||
border-radius: 0 0 .315rem .315rem;
|
||||
-ms-flex-item-align: stretch;
|
||||
align-self: stretch
|
||||
}
|
||||
|
||||
.landing__hero {
|
||||
min-height: 50vh
|
||||
}
|
||||
|
||||
.landing__header {
|
||||
height: 18vh
|
||||
}
|
||||
|
||||
.landing__arrow {
|
||||
bottom: 1.5rem;
|
||||
opacity: .4
|
||||
}
|
||||
|
||||
.landing__front {
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
||||
}
|
||||
|
||||
.landing__logo {
|
||||
width: 9.40rem;
|
||||
height: 9.40rem;
|
||||
margin-top: 1.315rem;
|
||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
||||
//animation: logo-rotate 240s linear infinite
|
||||
}
|
||||
|
||||
.landing__features .q-icon {
|
||||
font-size: 4rem
|
||||
}
|
||||
|
||||
h4 {
|
||||
line-height: 1.5;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.landing__features h4, .landing__features h6 {
|
||||
margin: 1rem 0
|
||||
}
|
||||
|
||||
.landing__features p {
|
||||
opacity: .7;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.landing__footer {
|
||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
||||
padding-top: 4.5rem !important;
|
||||
padding-bottom: 4.5rem !important;
|
||||
padding-left: 1.25rem;
|
||||
padding-right: 1.25rem;
|
||||
color: #9f9f9f;
|
||||
}
|
||||
|
||||
.icon_contact:hover {
|
||||
color: blue;
|
||||
border-color: white;
|
||||
border-width: .0625rem;
|
||||
}
|
||||
|
||||
.landing__footer .doc-link {
|
||||
color: $textcol;
|
||||
}
|
||||
|
||||
.landing__footer .doc-link:hover {
|
||||
opacity: .8
|
||||
}
|
||||
|
||||
.landing__swirl-bg {
|
||||
background-repeat: no-repeat !important;
|
||||
background-position: top;
|
||||
background-size: contain !important;
|
||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
||||
}
|
||||
|
||||
.feat-descr {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
.feat-descr:hover {
|
||||
transition: opacity 0.5s ease-in-out;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.q-col-gutter-sm {
|
||||
padding: 3.125rem 3.125rem;
|
||||
//margin-left: -48px
|
||||
}
|
||||
|
||||
body.mobile .landing {
|
||||
//background: unset
|
||||
}
|
||||
|
||||
body.mobile .landing:before {
|
||||
content: "";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
||||
|
||||
background-size: cover
|
||||
}
|
||||
|
||||
/*
|
||||
@-webkit-keyframes logo-rotate {
|
||||
to {
|
||||
-webkit-transform: rotate(-1turn);
|
||||
transform: rotate(-1turn)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes logo-rotate {
|
||||
to {
|
||||
-webkit-transform: rotate(-1turn);
|
||||
transform: rotate(-1turn)
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
.home {
|
||||
//background-color: rgb(250, 250, 250);
|
||||
padding: 3.125rem;
|
||||
display: flex;
|
||||
//flex-wrap: nowrap;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.btn-start {
|
||||
margin: 3.125rem;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
//color: white;
|
||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
||||
}
|
||||
|
||||
.shadow-max {
|
||||
//color: white;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-h1 {
|
||||
font-size: 6rem;
|
||||
font-weight: 300;
|
||||
line-height: 6rem;
|
||||
letter-spacing: -.01562em;
|
||||
}
|
||||
|
||||
.text-h2 {
|
||||
font-size: 3.75rem;
|
||||
font-weight: 300;
|
||||
line-height: 3.75rem;
|
||||
letter-spacing: -.00833em;
|
||||
}
|
||||
|
||||
.text-weight-bold {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.text-vers{
|
||||
font-size: 0.75rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.homep-cover-img-1 {
|
||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-2 {
|
||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-3 {
|
||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img.hide-filter:before {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.landing__footer-icons {
|
||||
font-size: 1.75rem
|
||||
}
|
||||
|
||||
.landing__footer-icons a {
|
||||
margin: 0 .5rem .5rem;
|
||||
text-decoration: none;
|
||||
outline: 0;
|
||||
color: $textcol;
|
||||
transition: color .28s
|
||||
}
|
||||
|
||||
.landing__footer-icons a:hover {
|
||||
color: $textcol_scuro;
|
||||
}
|
||||
|
||||
.doc-img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.mylist {
|
||||
padding: 0.75rem;
|
||||
border-radius: 16px; border: 2px solid #00f7ff;
|
||||
}
|
||||
|
||||
.clgutter {
|
||||
margin-top: 1.25rem;
|
||||
padding: .62rem;
|
||||
}
|
||||
|
||||
.carousel_img_3 {
|
||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
||||
background-size: cover !important;
|
||||
background-position: 50% center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 718px) {
|
||||
// PER VERSIONE MOBILE
|
||||
|
||||
.landing__hero {
|
||||
text-align: center
|
||||
}
|
||||
.landing__header {
|
||||
height: 2vh
|
||||
}
|
||||
.clgutter {
|
||||
margin-top: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.landing__hero .text-h1 {
|
||||
font-size: 3rem;
|
||||
line-height: 3.05rem;
|
||||
margin-bottom: 1.5rem
|
||||
}
|
||||
|
||||
.landing > section.padding {
|
||||
padding: 2.5rem 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding_testo {
|
||||
padding-top: 1.25rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding_gallery {
|
||||
padding-top: 3.125rem;
|
||||
padding-bottom: 5.625rem;
|
||||
}
|
||||
|
||||
.landing__features h4, .landing__features h6 {
|
||||
margin: 1.25rem 0
|
||||
}
|
||||
|
||||
h4 {
|
||||
line-height: 1.4;
|
||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
||||
}
|
||||
|
||||
.landing .feature-item {
|
||||
text-align: center;
|
||||
margin-top: 1.25rem;
|
||||
}
|
||||
.landing__hero-content {
|
||||
padding-bottom: 3.5rem;
|
||||
}
|
||||
.landing__hero-btns {
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.q-col-gutter-sm {
|
||||
padding: .625rem .315rem;
|
||||
}
|
||||
|
||||
.text-subtitle1 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.text-vers{
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.custom-caption {
|
||||
text-align: center;
|
||||
padding: .75rem;
|
||||
color: $textcol;
|
||||
background-color: rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.mycontacts {
|
||||
color: gray;
|
||||
letter-spacing: 0.078rem;
|
||||
}
|
||||
|
||||
.mycontacts_title {
|
||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
||||
font-weight: bold;
|
||||
color: #999;
|
||||
letter-spacing: 0.125rem;
|
||||
}
|
||||
|
||||
.mycontacts_text {
|
||||
color: #999;
|
||||
letter-spacing: 0.093rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
li {
|
||||
color: white !important;
|
||||
font-size: 18px;
|
||||
@media (max-width: 600px) {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ul li::before {
|
||||
content: '\2713';
|
||||
color: #aefff5 !important;
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
margin-left: 20px;
|
||||
margin-right: 5px;
|
||||
@media (max-width: 600px) {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
137
src/components/CFundRaising/CFundRaising.ts
Executable file
@@ -0,0 +1,137 @@
|
||||
import { defineComponent, ref, computed, PropType, toRef, onMounted, onBeforeUnmount } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { Footer, Logo } from '@components'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CFundRaising',
|
||||
components: {Logo, Footer},
|
||||
props: {},
|
||||
setup() {
|
||||
const { t } = useI18n();
|
||||
const $router = useRouter()
|
||||
const visibile = ref(false)
|
||||
const cardvisible = ref('hidden')
|
||||
const displaycard = ref('block')
|
||||
const firstClassSection = ref('fade homep-cover-img animate-fade homep-cover-img-1')
|
||||
const polling: any = ref()
|
||||
const slide = ref('first')
|
||||
const animare = ref(0)
|
||||
|
||||
function initprompt() {
|
||||
window.addEventListener('beforeinstallprompt', (event) => {
|
||||
// console.log('******************************** beforeinstallprompt fired')
|
||||
event.preventDefault()
|
||||
// console.log('§§§§§§§§§§§§§§§§§§§§ IMPOSTA DEFERRED PROMPT !!!!!!!!!!!!!!!!! ')
|
||||
// #Todo++ IMPOSTA DEFERRED PROMPT
|
||||
return false
|
||||
})
|
||||
}
|
||||
|
||||
function created() {
|
||||
initprompt()
|
||||
|
||||
animare.value = process.env.DEV ? 0 : 8000
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
let primo = true
|
||||
const mytime = 10000
|
||||
polling.value = setInterval(() => {
|
||||
firstClassSection.value = `landing_background fade homep-cover-img ${primo ? 'homep-cover-img-2' : 'homep-cover-img-1'}`
|
||||
primo = !primo
|
||||
|
||||
// console.log('this.firstClassSection', this.firstClassSection)
|
||||
}, mytime)
|
||||
})
|
||||
|
||||
function appname() {
|
||||
return t('msg.myAppName')
|
||||
}
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
console.log('beforeDestroy')
|
||||
clearInterval(polling.value)
|
||||
})
|
||||
|
||||
function meta() {
|
||||
return {
|
||||
keywords: { name: 'keywords', content: 'Quasar website' },
|
||||
// meta tags
|
||||
meta: {
|
||||
mykey: { name: 'mykey', content: 'Key 1' },
|
||||
description: { name: 'description', content: 'Page 1' },
|
||||
keywords: { name: 'keywords', content: 'Quasar website' },
|
||||
equiv: { 'http-equiv': 'Content-Type', content: 'text/html; charset=UTF-8' },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function mystilecard() {
|
||||
return {
|
||||
visibility: cardvisible.value,
|
||||
display: displaycard.value,
|
||||
}
|
||||
}
|
||||
|
||||
function getenv(myvar: any) {
|
||||
try {
|
||||
return process.env[myvar]
|
||||
} catch (e) {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function getPermission() {
|
||||
return Notification.permission
|
||||
}
|
||||
|
||||
function NotServiceWorker() {
|
||||
return (!('serviceWorker' in navigator))
|
||||
}
|
||||
|
||||
function PagLogin() {
|
||||
$router.replace('/signin')
|
||||
}
|
||||
|
||||
function PagReg() {
|
||||
$router.replace('/signup')
|
||||
}
|
||||
|
||||
function openCreatePostModal() {
|
||||
console.log('APERTO ! openCreatePostModal')
|
||||
|
||||
visibile.value = !visibile.value
|
||||
|
||||
if (visibile.value) {
|
||||
displaycard.value = 'block'
|
||||
cardvisible.value = 'visible'
|
||||
} else {
|
||||
displaycard.value = 'block'
|
||||
cardvisible.value = 'hidden'
|
||||
}
|
||||
}
|
||||
|
||||
created()
|
||||
|
||||
return {
|
||||
t,
|
||||
appname,
|
||||
meta,
|
||||
mystilecard,
|
||||
getenv,
|
||||
getPermission,
|
||||
NotServiceWorker,
|
||||
PagLogin,
|
||||
PagReg,
|
||||
openCreatePostModal,
|
||||
slide,
|
||||
tools,
|
||||
animare,
|
||||
}
|
||||
},
|
||||
})
|
||||
28
src/components/CFundRaising/CFundRaising.vue
Executable file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<q-page class="text-white">
|
||||
|
||||
<div class="landing">
|
||||
|
||||
<section class="bg-primary">
|
||||
<div class=" row justify-between items-start q-col-gutter-sm">
|
||||
<div class="col-12">
|
||||
<div class="feature-item"><i
|
||||
aria-hidden="true"
|
||||
class="q-icon fas fa-hands-holding"> </i>
|
||||
<div class="text-big" v-html="t('homepage.freesostieni.title')"></div>
|
||||
<p class="feat-descr" v-html="t('homepage.freesostieni.descr')"></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</q-page>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CFundRaising.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CFundRaising.scss';
|
||||
</style>
|
||||
1
src/components/CFundRaising/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export {default as CFundRaising} from './CFundRaising.vue'
|
||||
@@ -461,7 +461,6 @@
|
||||
<div class="tdclass">
|
||||
<div :class="getclrow(props.row)">
|
||||
|
||||
|
||||
<CMyPopupEdit
|
||||
:table="mytable"
|
||||
:canEdit="canEdit"
|
||||
@@ -529,6 +528,7 @@
|
||||
:canEdit="true"
|
||||
:canModify="tools.canModifyThisRec(rowclicksel, tablesel)"
|
||||
:disable="disabilita()"
|
||||
:isInModif="mycol.isInModif"
|
||||
view="field"
|
||||
:mycol="mycol"
|
||||
:showall="true"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="mypath && !!rec">
|
||||
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="!!rec.img1" class="text-center">
|
||||
<q-img :src="``+ rec.img1" class="img"></q-img>
|
||||
@@ -29,6 +30,7 @@
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
<div v-if="!!title">
|
||||
<CTitle
|
||||
v-if="imgbackground" :imgbackground="imgbackground"
|
||||
|
||||
@@ -191,7 +191,13 @@ export default defineComponent({
|
||||
|
||||
const myImgGall = ref(<IImgGallery[]>[{}])
|
||||
|
||||
const col = ref(<IColGridTable> { name: 'test', fieldtype: 0, showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView, visible: true, maxlength: props.mycol ? props.mycol.maxlength : 0 })
|
||||
const col = ref(<IColGridTable>{
|
||||
name: 'test',
|
||||
fieldtype: 0,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
visible: true,
|
||||
maxlength: props.mycol ? props.mycol.maxlength : 0
|
||||
})
|
||||
|
||||
const { setValDb, getValDb } = MixinBase()
|
||||
const { getMyUsername } = MixinUsers()
|
||||
@@ -253,7 +259,7 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
|
||||
function isFieldDb(){
|
||||
function isFieldDb() {
|
||||
return props.type !== 0
|
||||
}
|
||||
|
||||
@@ -369,7 +375,7 @@ export default defineComponent({
|
||||
list: []
|
||||
}
|
||||
}
|
||||
}else if (col.value.fieldtype === costanti.FieldType.listobj) {
|
||||
} else if (col.value.fieldtype === costanti.FieldType.listobj) {
|
||||
if (myvalue.value === '' || myvalue.value === undefined) {
|
||||
// console.log('set default myvalue.value ')
|
||||
myvalue.value = [{
|
||||
@@ -426,7 +432,7 @@ export default defineComponent({
|
||||
// console.log('SaveValueInt', newVal, valinitial)
|
||||
|
||||
if (isFieldDb()) {
|
||||
savefield(newVal, valinitial, $q);
|
||||
savefield(newVal, valinitial, $q)
|
||||
} else {
|
||||
// Update value in table memory
|
||||
if (props.subfield !== '') {
|
||||
@@ -581,7 +587,7 @@ export default defineComponent({
|
||||
if (col.link)
|
||||
mylink = col.link.replace(col.name, val)
|
||||
if (col.tipovisu === costanti.TipoVisu.LINK && col.link) {
|
||||
return "<a href='"+mylink+"'>" + val + '</a>'
|
||||
return "<a href='" + mylink + "'>" + val + '</a>'
|
||||
} else if (col.tipovisu === costanti.TipoVisu.BUTTON && col.link) {
|
||||
return ''
|
||||
}
|
||||
@@ -642,9 +648,10 @@ export default defineComponent({
|
||||
if (fieldsTable.tableForUsers.includes(props.table)) {
|
||||
return 'Profilo'
|
||||
} else {
|
||||
return fieldsTable.getTitleImgByTable(props.table);
|
||||
return fieldsTable.getTitleImgByTable(props.table)
|
||||
}
|
||||
}
|
||||
|
||||
function getDirectoryGall() {
|
||||
let ris = ''
|
||||
let username = myrow.value.hasOwnProperty('username') ? myrow.value['username'] : ''
|
||||
@@ -659,11 +666,13 @@ export default defineComponent({
|
||||
}
|
||||
if (fieldsTable.tableForUsers.includes(props.table)) {
|
||||
ris = 'profile/' + username + '/' + props.table
|
||||
}else if (props.table === 'users') {
|
||||
} else if (props.table === 'users') {
|
||||
ris = 'profile/' + userStore.my.username
|
||||
}else if (props.table === 'mygroups') {
|
||||
} else if (props.table === 'mygroups') {
|
||||
if (myrow.value.hasOwnProperty('groupname'))
|
||||
ris = 'mygroups/' + myrow.value['groupname']
|
||||
} else if (!!myrow.value && !!myrow.value.directory) {
|
||||
ris = myrow.value.directory
|
||||
} else {
|
||||
ris = props.table
|
||||
}
|
||||
@@ -674,7 +683,7 @@ export default defineComponent({
|
||||
function uploaded(info: any) {
|
||||
|
||||
if (info.files) {
|
||||
myvalue.value = tools.geturlrelativeprofile()+ '/' + getMyUsername() + '/' + info.files[0].name
|
||||
myvalue.value = tools.geturlrelativeprofile() + '/' + getMyUsername() + '/' + info.files[0].name
|
||||
console.log('uploaded', myvalue.value)
|
||||
savefield(myvalue.value, '', $q)
|
||||
}
|
||||
@@ -702,7 +711,8 @@ export default defineComponent({
|
||||
if (!!col.field_extra1) {
|
||||
try {
|
||||
title = tools.getValue(row, col.field_extra1, col.subfield_extra1!)
|
||||
}catch (e){}
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
|
||||
return title
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<span>
|
||||
<q-dialog v-model="showuserdetails" v-if="myop">
|
||||
<q-dialog v-model="showuserdetails" v-if="myop" :maximized="$q.screen.lt.sm">
|
||||
<q-card class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar-title>
|
||||
{{ myop.name }} {{ myop.surname }}
|
||||
{{ myop.name }} {{ myop.surname ? myop.surname : '' }}
|
||||
</q-toolbar-title>
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
</q-toolbar>
|
||||
<q-card-section class="text-center inset-shadow">
|
||||
<div style="width: 200px; float: left;">
|
||||
<q-img :src="`images/` + myop.img" class="myimg" :alt="`${myop.name} ${myop.surname}`">
|
||||
<div class="column justify-center" style="min-width: 280px">
|
||||
<q-img
|
||||
:src="`images/` + myop.img" class="img_effetto_3d" :alt="`${myop.name} ${myop.surname}`">
|
||||
</q-img>
|
||||
</div>
|
||||
|
||||
<div class="text-h6 text-trans">{{ myop.name }} {{ myop.surname }}</div>
|
||||
<div class="title_shadow">{{ myop.name }} {{ myop.surname ? myop.surname : '' }}</div>
|
||||
<div class="text-subtitle-carica text-trans">{{ myop.qualification }}</div>
|
||||
<div class="text-subtitle-carica">{{ myop.disciplines }}</div>
|
||||
<div v-if="myop.certifications" class="text-subtitle-certificato">{{ myop.certifications }}</div>
|
||||
@@ -59,6 +59,7 @@
|
||||
|
||||
<br>
|
||||
<div class="op__storia" v-html="myop.info"></div>
|
||||
</div>
|
||||
|
||||
</q-card-section>
|
||||
<q-card-actions align="center">
|
||||
|
||||
95
src/components/COperators/COperators.scss
Executable file
@@ -0,0 +1,95 @@
|
||||
$heightBtn: 100%;
|
||||
$grayshadow: #555;
|
||||
|
||||
.text-subtitle-carica {
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
text-shadow: .1rem .1rem .1rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-subtitle-certificato {
|
||||
font-size: 0.75rem;
|
||||
line-height: 1rem;
|
||||
}
|
||||
|
||||
@media (max-width: 718px) {
|
||||
// PER VERSIONE MOBILE
|
||||
.text-subtitle-carica {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.op {
|
||||
text-align: center !important;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
text-shadow: .1rem .1rem .1rem $grayshadow;
|
||||
|
||||
&__cell {
|
||||
font-size: 1rem;
|
||||
color: red;
|
||||
}
|
||||
|
||||
&__email {
|
||||
font-size: 1rem;
|
||||
color: #3b5998;
|
||||
}
|
||||
|
||||
&__email a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&__facebook a {
|
||||
font-size: 1rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&__storia {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
text-align: justify;
|
||||
}
|
||||
}
|
||||
|
||||
.myimg {
|
||||
border-radius: 300px !important;
|
||||
}
|
||||
|
||||
.q-img {
|
||||
&__image {
|
||||
border-radius: 300px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.myflex {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mybase {
|
||||
color: black;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.25rem;
|
||||
letter-spacing: 0.03333em;
|
||||
|
||||
&__teacher {
|
||||
margin-top: 5px;
|
||||
|
||||
&-content {
|
||||
color: darkblue;
|
||||
}
|
||||
|
||||
&-content:hover {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
49
src/components/COperators/COperators.ts
Executable file
@@ -0,0 +1,49 @@
|
||||
import { computed, defineComponent, ref, watch } from 'vue'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { CMyAvatar } from '../CMyAvatar'
|
||||
import MixinOperator from '../../mixins/mixin-operator'
|
||||
import MixinUsers from '../../mixins/mixin-users'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyTeacher',
|
||||
components: { CMyAvatar },
|
||||
props: {
|
||||
myop: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
const showuserdetails = ref(false)
|
||||
const autoplaydiscsaved = ref(0)
|
||||
const tab = ref('one')
|
||||
|
||||
const mydir = ref('images/')
|
||||
|
||||
watch(() => showuserdetails, (value: any, old: any) => {
|
||||
if (!showuserdetails.value) {
|
||||
globalStore.autoplaydisc = autoplaydiscsaved.value
|
||||
}
|
||||
})
|
||||
|
||||
function executeclick(event: any) {
|
||||
console.log('executeclick')
|
||||
showuserdetails.value = true
|
||||
|
||||
autoplaydiscsaved.value = globalStore.autoplaydisc
|
||||
globalStore.autoplaydisc = 0
|
||||
}
|
||||
return {
|
||||
tab,
|
||||
executeclick,
|
||||
showuserdetails,
|
||||
tools,
|
||||
mydir,
|
||||
}
|
||||
},
|
||||
})
|
||||
63
src/components/COperators/COperators.vue
Executable file
@@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div v-if="myop">
|
||||
<div class="q-pa-md">
|
||||
<div class="column justify-center" style="min-width: 300px">
|
||||
<q-img
|
||||
:src="mydir + myop.img" class="img_effetto_3d" :alt="`${myop.name} ${myop.surname}`">
|
||||
</q-img>
|
||||
<div class="q-ma-sm title_shadow">{{ myop.name }} {{ myop.surname ? myop.surname : '' }}</div>
|
||||
|
||||
<div v-if="myop.qualification" class="text-subtitle-carica text-trans">{{ myop.qualification }}</div>
|
||||
<div v-if="myop.disciplines" class="text-subtitle-carica">{{ myop.disciplines }}</div>
|
||||
<div v-if="myop.cell" class="op__cell">
|
||||
<q-icon v-if="myop.cell" class="flex-icon" name="mobile_friendly"></q-icon>
|
||||
<span v-if="myop.cell" class="q-mx-sm">{{ myop.cell }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row justify-center margin_buttons">
|
||||
<q-btn
|
||||
v-if="myop.email" fab-mini icon="fas fa-envelope"
|
||||
color="blue-grey-6" type="a"
|
||||
size="sm"
|
||||
:href="tools.getemailto(myop.email)" target="__blank">
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="tools.getHttpForWhatsapp(myop.cell)" fab-mini icon="fab fa-whatsapp"
|
||||
color="green" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForWhatsapp(myop.cell)" target="__blank">
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="tools.getHttpForTelegram(myop.usertelegram)" fab-mini icon="fab fa-telegram"
|
||||
color="blue" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForTelegram(myop.usertelegram)" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="myop.email" class="op__email">
|
||||
<q-icon class="flex-icon" name="contact_mail"></q-icon>
|
||||
<a :href="tools.getemailto(myop.email)" target="_blank">{{ myop.email }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="op__facebook" v-if="myop.paginafb">
|
||||
<a :href="myop.paginafb" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-facebook-f icon_contact links"></i> Pagina
|
||||
Facebook
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div v-if="myop.info" class="text-normal op__storia" v-html="myop.info"></div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./COperators.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './COperators.scss';
|
||||
</style>
|
||||
1
src/components/COperators/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export {default as COperators} from './COperators.vue'
|
||||
@@ -334,7 +334,7 @@ body.mobile .landing:before {
|
||||
|
||||
.carousel_img_3 {
|
||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
||||
background-size: cover !important;
|
||||
background-size: contain !important;
|
||||
background-position: 50% center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
height="100%"
|
||||
width="100%"
|
||||
>
|
||||
<q-carousel-slide name="first" img-src="images/cover.jpg">
|
||||
<q-carousel-slide name="first" img-src="images/cover.jpg" class="carousel_img_3">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
@@ -87,7 +87,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="second" img-src="images/hand_people.jpg">
|
||||
<q-carousel-slide name="second" img-src="images/hand_people.jpg" class="carousel_img_3">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
@@ -337,6 +337,6 @@
|
||||
<script lang="ts" src="./CPresentazione.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
@import './CPresentazione.scss';
|
||||
</style>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="tools.isLogged() && tools.getUsername()" class="text-center">
|
||||
<div v-if="need_Telegram && tools.isLogged() && tools.getUsername()" class="text-center">
|
||||
<q-banner
|
||||
rounded
|
||||
class="bg-green text-white"
|
||||
@@ -29,6 +29,7 @@
|
||||
<q-btn class="q-ma-sm" color="positive" icon="fas fa-home" label="Se sei già Registrato CLICCA QUI" to="/"></q-btn>
|
||||
|
||||
<q-banner
|
||||
v-if="need_Telegram"
|
||||
rounded
|
||||
class="bg-warning text-black"
|
||||
style="text-align: center;"
|
||||
@@ -44,7 +45,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="visubuttBOT" class="q-gutter-md">
|
||||
<div v-if="visubuttBOT && need_Telegram" class="q-gutter-md">
|
||||
<q-banner
|
||||
rounded
|
||||
class="bg-green-5 text-white"
|
||||
|
||||
@@ -94,11 +94,11 @@
|
||||
:href="tools.getemailto(rec.email)" target="__blank">
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="tools.getHttpForWhatsapp(rec.phone)" fab-mini
|
||||
v-if="!!rec.wa && tools.getHttpForWhatsapp(rec.wa)" fab-mini
|
||||
icon="fab fa-whatsapp"
|
||||
color="green" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForWhatsapp(rec.phone)" target="__blank">
|
||||
:href="tools.getHttpForWhatsapp(rec.wa)" target="__blank">
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
|
||||
@@ -14,14 +14,22 @@
|
||||
icon="fas fa-home"
|
||||
/>
|
||||
<q-route-tab
|
||||
v-if="static_data.functionality.ENABLE_VIEW_GROUPS"
|
||||
to="/groups"
|
||||
icon="fas fa-users"
|
||||
/>
|
||||
<q-route-tab
|
||||
v-if="static_data.functionality.ENABLE_VIEW_USERS"
|
||||
to="/friends"
|
||||
icon="fas fa-user-friends"
|
||||
/>
|
||||
<q-route-tab
|
||||
v-if="static_data.functionality.ENABLE_VIEW_BOOKINGS"
|
||||
to="/admin/eventlist"
|
||||
icon="fas fa-calendar-plus"
|
||||
/>
|
||||
<q-route-tab
|
||||
v-if="static_data.functionality.ENABLE_VIEW_PROFILE"
|
||||
:to="`/my/`+getMyUsername()"
|
||||
icon="person"
|
||||
/>
|
||||
|
||||
@@ -52,4 +52,6 @@ export * from './CMyRecGrpCard'
|
||||
export * from './CPresentazione'
|
||||
export * from './CAccomodation'
|
||||
export * from './COpenStreetMap'
|
||||
export * from './COperators'
|
||||
export * from './CFundRaising'
|
||||
// export * from './CPreloadImages'
|
||||
|
||||
@@ -996,3 +996,39 @@ $heightBtn: 100%;
|
||||
.accom_maxosp {
|
||||
background-color: blue !important;
|
||||
}
|
||||
|
||||
.img_effetto_3d{
|
||||
border-radius: 10px !important;
|
||||
height: 300px;
|
||||
max-width:300px;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: WalterTurncoat;
|
||||
src: url(./fonts/walterturncoat.woff);
|
||||
}
|
||||
|
||||
.title_shadow{
|
||||
font-family: WalterTurncoat,handwriting, Arial, sans-serif;
|
||||
font-size: 1.25rem;
|
||||
color: #8300e9!important;
|
||||
font-weight: 500;
|
||||
text-shadow: .1rem .1rem .1rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-normal {
|
||||
font-family: 'Open Sans', Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
color: #666;
|
||||
line-height: 1.7em;
|
||||
font-weight: 500;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.carousel_img {
|
||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
||||
background-size: contain !important;
|
||||
background-position: 50% center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
BIN
src/css/fonts/walterturncoat.woff
Normal file
@@ -1,7 +1,7 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
sitename: 'Terra Della Visione',
|
||||
siteshortname: 'TDV',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
|
||||
@@ -9,7 +9,7 @@ const functionality: IFunctionality = {
|
||||
PWA: true,
|
||||
SHOW_USER_MENU: true, // Cambiare con true
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
SHOW_REG_BUTTON: true,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: true,
|
||||
@@ -20,8 +20,12 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: true,
|
||||
ENABLE_GROUPS: false,
|
||||
SHOW_COMPETENZE: false,
|
||||
ENABLE_VIEW_GROUPS: false,
|
||||
ENABLE_VIEW_USERS: false,
|
||||
ENABLE_VIEW_PROFILE: false,
|
||||
ENABLE_VIEW_BOOKINGS: true,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -322,6 +326,34 @@ const routes_manager: IListRoutes[] = [
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/operators',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.operators',
|
||||
component: () => import('@/rootgen/admin/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/disciplines',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.disciplines',
|
||||
component: () => import('@/rootgen/admin/disciplines/disciplines.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
@@ -543,21 +575,10 @@ const baseroutes: IListRoutes[] = [
|
||||
{
|
||||
active: functionality.ENABLE_REGISTRATION,
|
||||
order: 1000,
|
||||
path: '/signup/:invited/:usernameteleg/:idteleg',
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup/signup.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'),
|
||||
component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
@@ -616,10 +637,20 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
path: '/separator',
|
||||
name: 'separator',
|
||||
order: 35,
|
||||
order: 1010,
|
||||
isseparator: true,
|
||||
inmenu: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 70,
|
||||
path: '/chisiamo',
|
||||
materialIcon: 'event',
|
||||
name: 'pages.chisiamo',
|
||||
component: () => import('@/rootgen/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 80,
|
||||
@@ -628,8 +659,8 @@ const baseroutes: IListRoutes[] = [
|
||||
name: 'pages.calendarioeventi',
|
||||
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||
extraclass: 'isCalendar',
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
@@ -661,6 +692,16 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/admin/eventlist',
|
||||
materialIcon: 'fas fa-calendar-plus',
|
||||
name: 'otherpages.admin.eventlist',
|
||||
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
|
||||
]
|
||||
export function firstimagehome() {
|
||||
|
||||
@@ -16,6 +16,11 @@ export default function () {
|
||||
return calendarStore.operators
|
||||
}
|
||||
|
||||
function getOperatorsInHome() {
|
||||
const calendarStore = useCalendarStore()
|
||||
return calendarStore.operators.filter((rec: any) => rec.showInTeam)
|
||||
}
|
||||
|
||||
function getOperatorByUsername(username: string) {
|
||||
const calendarStore = useCalendarStore()
|
||||
return calendarStore.getOperatorByUsername(username)
|
||||
@@ -29,7 +34,7 @@ export default function () {
|
||||
function getTeacherByUsername(username: string) {
|
||||
const op = getOperatorByUsername(username)
|
||||
if (!!op) {
|
||||
return op.name + ' ' + op.surname
|
||||
return op.name ? op.name : '' + ' ' + op.surname ? op.surname : ''
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
@@ -42,5 +47,6 @@ export default function () {
|
||||
getOperatorByUsername,
|
||||
getImgTeacherByUsername,
|
||||
getTeacherByUsername,
|
||||
getOperatorsInHome,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -495,6 +495,10 @@ export interface IFunctionality {
|
||||
SHOW_NAMESURNAME?: boolean
|
||||
ENABLE_GROUPS?: boolean
|
||||
SHOW_COMPETENZE?: boolean
|
||||
ENABLE_VIEW_GROUPS?: boolean
|
||||
ENABLE_VIEW_USERS?: boolean
|
||||
ENABLE_VIEW_PROFILE?: boolean
|
||||
ENABLE_VIEW_BOOKINGS?: boolean
|
||||
}
|
||||
|
||||
export interface IParLookup {
|
||||
@@ -552,6 +556,7 @@ export interface IColGridTable {
|
||||
action?: any
|
||||
askaction?: string
|
||||
foredit?: boolean
|
||||
isInModif?: boolean
|
||||
fieldtype?: number
|
||||
fieldtype_real?: number
|
||||
field_outtype?: number
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<CMyPage
|
||||
imgbackground="images/calendario_eventi.jpg" :title="gettitle()" sizes="max-height: 110px;"
|
||||
styleadd="bottom: -36px !important;">
|
||||
|
||||
<span>{{
|
||||
setmeta({
|
||||
title: gettitle(),
|
||||
description: '',
|
||||
keywords: '',
|
||||
})
|
||||
}}
|
||||
</span>
|
||||
|
||||
<CEventsCalendar :mysingleevent="myevent" v-if="myevent">
|
||||
|
||||
@@ -55,7 +43,6 @@
|
||||
|
||||
</div>
|
||||
|
||||
</CMyPage>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./evento.ts">
|
||||
|
||||
0
src/root/fundraising/fundraising.scss
Executable file
22
src/root/fundraising/fundraising.ts
Executable file
@@ -0,0 +1,22 @@
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useI18n } from '@src/boot/i18n'
|
||||
import {
|
||||
defineComponent, ref, onBeforeUnmount, onMounted,
|
||||
} from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { CFundRaising } from '@/components'
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'FundRaising',
|
||||
components: { CFundRaising },
|
||||
|
||||
setup() {
|
||||
const { t } = useI18n();
|
||||
|
||||
return {
|
||||
t,
|
||||
tools,
|
||||
}
|
||||
},
|
||||
})
|
||||
9
src/root/fundraising/fundraising.vue
Executable file
@@ -0,0 +1,9 @@
|
||||
<template>
|
||||
<CFundRaising></CFundRaising>
|
||||
|
||||
</template>
|
||||
<script lang="ts" src="./fundraising.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './fundraising.scss';
|
||||
</style>
|
||||
@@ -20,6 +20,7 @@ import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { CPresentazione } from '@/components'
|
||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'mainview',
|
||||
@@ -29,6 +30,8 @@ export default defineComponent({
|
||||
const userStore = useUserStore()
|
||||
const { getValDb } = MixinBase()
|
||||
|
||||
const { setmeta } = MixinMetaTags()
|
||||
|
||||
const { getRefLink } = MixinUsers()
|
||||
|
||||
return {
|
||||
@@ -38,6 +41,7 @@ export default defineComponent({
|
||||
userStore,
|
||||
shared_consts,
|
||||
globalStore,
|
||||
setmeta,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
<template>
|
||||
<q-page class="">
|
||||
|
||||
<span>{{
|
||||
setmeta({
|
||||
title: $t('ws.sitename'),
|
||||
description: $t('ws.siteshortname'),
|
||||
keywords: $t('ws.keywords'),
|
||||
})
|
||||
}}
|
||||
</span>
|
||||
|
||||
<!--<CChartMap
|
||||
title="Mappa"
|
||||
subtitle="cartina..."
|
||||
|
||||
0
src/rootgen/admin/disciplines/disciplines.scss
Executable file
26
src/rootgen/admin/disciplines/disciplines.ts
Executable file
@@ -0,0 +1,26 @@
|
||||
import { defineComponent, ref, onMounted } from 'vue'
|
||||
|
||||
import { CImgText } from '../../../components/CImgText/index'
|
||||
import { CCard } from '@/components/CCard'
|
||||
import { CMyPage } from '@/components/CMyPage'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||
|
||||
import { colmypage } from '@src/store/Modules/fieldsTable'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Disciplines',
|
||||
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec },
|
||||
setup() {
|
||||
|
||||
const { setmeta } = MixinMetaTags()
|
||||
|
||||
return {
|
||||
colmypage,
|
||||
setmeta,
|
||||
fieldsTable,
|
||||
}
|
||||
}
|
||||
})
|
||||
31
src/rootgen/admin/disciplines/disciplines.vue
Executable file
@@ -0,0 +1,31 @@
|
||||
<template>
|
||||
<CMyPage title="Discipline" imgbackground="images/calendario_eventi.jpg" sizes="max-height: 120px">
|
||||
<span>{{
|
||||
setmeta({
|
||||
title: 'disciplines',
|
||||
description: '',
|
||||
keywords: '',
|
||||
})
|
||||
}}
|
||||
</span>
|
||||
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<CTitleBanner title="Discipline"></CTitleBanner>
|
||||
<CGridTableRec
|
||||
prop_mytable="disciplines"
|
||||
prop_mytitle="Lista Discipline"
|
||||
:prop_mycolumns="fieldsTable.colDisciplines()"
|
||||
prop_colkey="_id"
|
||||
nodataLabel="Nessuna Disciplina"
|
||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
|
||||
|
||||
</CGridTableRec>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</template>
|
||||
<script lang="ts" src="./disciplines.ts">
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import 'disciplines.scss';
|
||||
</style>
|
||||
@@ -63,7 +63,7 @@ export default defineComponent({
|
||||
|
||||
let add = true
|
||||
|
||||
if (!showall) {
|
||||
if (!showall()) {
|
||||
add = calendarStore.getNumParticipants(myevent, showall(), tools.peopleWhere.participants) > 0
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ export default defineComponent({
|
||||
|
||||
let add = true
|
||||
|
||||
if (!showall) {
|
||||
if (!showall()) {
|
||||
add = calendarStore.getNumParticipants(myevent, showall(), tools.peopleWhere.participants) > 0
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ export default defineComponent({
|
||||
isValidUsername,
|
||||
gettitle,
|
||||
change_rec,
|
||||
$q,
|
||||
showPrev,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<CMyPage
|
||||
title="Events" keywords="" description="" imgbackground="images/calendario_eventi.jpg"
|
||||
:title="gettitle()" keywords="" description="" imgbackground="images/calendario_eventi.jpg"
|
||||
sizes="max-height: 120px">
|
||||
|
||||
<div class="q-ma-sm q-pa-xs">
|
||||
<div v-if="!showall" class="text-h6 bg-red text-white text-center q-pa-xs shadow-max">Lista delle tue
|
||||
<div v-if="!showall()" class="text-h6 bg-red text-white text-center q-pa-xs shadow-max">Lista delle tue
|
||||
prenotazioni agli Eventi:
|
||||
</div>
|
||||
|
||||
@@ -20,17 +20,17 @@
|
||||
<th>{{ $t('cal.data') }}</th>
|
||||
<th>{{ $t('cal.event') }}</th>
|
||||
<th v-if="!tools.isMobile()">{{ $t('cal.teachertitle') }}</th>
|
||||
<th v-if="showall">
|
||||
<th v-if="showall()">
|
||||
<span v-if="!tools.isMobile()">{{ $t('cal.selnumpeople') }}</span>
|
||||
<span v-else>{{ $t('cal.selnumpeople_short') }}</span>
|
||||
</th>
|
||||
<th v-if="showall">
|
||||
<th v-if="showall()">
|
||||
{{ $t('cal.selnumpeopleLunch') }}
|
||||
</th>
|
||||
<th v-if="showall">
|
||||
<th v-if="showall()">
|
||||
{{ $t('cal.selnumpeopleDinner') }}
|
||||
</th>
|
||||
<th v-if="showall">
|
||||
<th v-if="showall()">
|
||||
{{ $t('cal.selnumpeopleDinnerShared') }}
|
||||
</th>
|
||||
<th>{{ $t('cal.peoplebooked') }}</th>
|
||||
@@ -51,25 +51,25 @@
|
||||
<span v-if="isValidUsername(event.teacher4)"> - {{ getTeacherByUsername(event.teacher4) }}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<td v-if="showall()">
|
||||
<div class="text-center">{{
|
||||
calendarStore.getNumParticipants(event, showall, tools.peopleWhere.participants)
|
||||
}}
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<td v-if="showall()">
|
||||
<div class="text-center">{{
|
||||
calendarStore.getNumParticipants(event, showall, tools.peopleWhere.lunch)
|
||||
}}
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<td v-if="showall()">
|
||||
<div class="text-center">{{
|
||||
calendarStore.getNumParticipants(event, showall, tools.peopleWhere.dinner)
|
||||
}}
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<td v-if="showall()">
|
||||
<div class="text-center">{{
|
||||
calendarStore.getNumParticipants(event, showall, tools.peopleWhere.dinnerShared)
|
||||
}}
|
||||
|
||||
0
src/rootgen/admin/operators/operators.scss
Executable file
26
src/rootgen/admin/operators/operators.ts
Executable file
@@ -0,0 +1,26 @@
|
||||
import { defineComponent, ref, onMounted } from 'vue'
|
||||
|
||||
import { CImgText } from '@/components/CImgText'
|
||||
import { CCard } from '@/components/CCard'
|
||||
import { CMyPage } from '@/components/CMyPage'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||
|
||||
import { colmypage } from '@src/store/Modules/fieldsTable'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Operators',
|
||||
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec },
|
||||
setup() {
|
||||
|
||||
const { setmeta } = MixinMetaTags()
|
||||
|
||||
return {
|
||||
colmypage,
|
||||
setmeta,
|
||||
fieldsTable,
|
||||
}
|
||||
}
|
||||
})
|
||||
31
src/rootgen/admin/operators/operators.vue
Executable file
@@ -0,0 +1,31 @@
|
||||
<template>
|
||||
<CMyPage title="Operatori" imgbackground="images/calendario_eventi.jpg" sizes="max-height: 120px">
|
||||
<span>{{
|
||||
setmeta({
|
||||
title: 'operators',
|
||||
description: '',
|
||||
keywords: '',
|
||||
})
|
||||
}}
|
||||
</span>
|
||||
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<CTitleBanner title="Operatori"></CTitleBanner>
|
||||
<CGridTableRec
|
||||
prop_mytable="operators"
|
||||
prop_mytitle="Lista Operatori"
|
||||
:prop_mycolumns="fieldsTable.colOperators()"
|
||||
prop_colkey="_id"
|
||||
nodataLabel="Nessun Operatore"
|
||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
|
||||
|
||||
</CGridTableRec>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</template>
|
||||
<script lang="ts" src="./operators.ts">
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import 'operators.scss';
|
||||
</style>
|
||||
0
src/rootgen/operators/operators.scss
Executable file
22
src/rootgen/operators/operators.ts
Executable file
@@ -0,0 +1,22 @@
|
||||
import { defineComponent, ref, onMounted } from 'vue'
|
||||
|
||||
import { CMyPage } from '@/components/CMyPage'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { COperators } from '@/components/COperators'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
|
||||
import MixinOperator from '../../mixins/mixin-operator'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'PageOperators',
|
||||
components: { CMyPage, CTitleBanner, COperators },
|
||||
setup() {
|
||||
|
||||
const { getOperatorsInHome } = MixinOperator()
|
||||
|
||||
return {
|
||||
fieldsTable,
|
||||
getOperatorsInHome,
|
||||
}
|
||||
}
|
||||
})
|
||||
20
src/rootgen/operators/operators.vue
Executable file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<CMyPage title="Operatori" imgbackground="images/calendario_eventi.jpg" sizes="max-height: 120px">
|
||||
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
||||
<q-card-section class="row justify-center">
|
||||
<div
|
||||
v-for="(myop, index) in getOperatorsInHome()" :key="index">
|
||||
|
||||
<COperators :myop="myop" />
|
||||
</div>
|
||||
</q-card-section>
|
||||
|
||||
</div>
|
||||
</CMyPage>
|
||||
</template>
|
||||
<script lang="ts" src="./operators.ts">
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import 'operators.scss';
|
||||
</style>
|
||||
@@ -60,6 +60,8 @@ const msg_it = {
|
||||
newsletter: 'Newsletter',
|
||||
monete: 'Monete',
|
||||
pages: 'Pagine',
|
||||
operators: 'Operatori',
|
||||
disciplines: 'Discipline',
|
||||
media: 'Media',
|
||||
gallery: 'Gallerie',
|
||||
listaflotte: 'Flotte',
|
||||
@@ -572,6 +574,8 @@ const msg_it = {
|
||||
certifications: 'Certificazioni',
|
||||
intro: 'Introduzione',
|
||||
info: 'Biografia',
|
||||
showInTeam: 'Mostra in Team',
|
||||
arrDisciplines: 'Discipline',
|
||||
webpage: 'Pagina Web',
|
||||
days_working: 'Giorni Lavorativi',
|
||||
facebook: 'Pagina Facebook',
|
||||
|
||||
@@ -105,7 +105,7 @@ export const costanti = {
|
||||
small: false,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
visible: false,
|
||||
strsingolo: 'Idea',
|
||||
title: 'Tue Idee',
|
||||
to: '/ideas',
|
||||
@@ -118,16 +118,16 @@ export const costanti = {
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
title: 'Help',
|
||||
to: '/help',
|
||||
title: 'Help (Faq)',
|
||||
to: '/faq',
|
||||
icon: 'fas fa-users',
|
||||
color: 'green-6',
|
||||
hint: '',
|
||||
disable: true,
|
||||
disable: false,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
visible: false,
|
||||
title: 'Social',
|
||||
to: '/socialising',
|
||||
icon: 'fas fa-users',
|
||||
@@ -136,6 +136,16 @@ export const costanti = {
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
title: 'Per sostienere il Progetto?',
|
||||
to: '/fundraising',
|
||||
icon: 'fas fa-hand-holding',
|
||||
color: 'blue-6',
|
||||
hint: '',
|
||||
disable: false,
|
||||
small: false,
|
||||
},
|
||||
{
|
||||
visible: false,
|
||||
title: 'Gruppi',
|
||||
|
||||
@@ -68,6 +68,7 @@ function AddCol(params: IColGridTable) {
|
||||
icon: (params.icon === undefined) ? '' : params.icon,
|
||||
action: (params.action === undefined) ? '' : params.action,
|
||||
foredit: (params.foredit === undefined) ? true : params.foredit,
|
||||
isInModif: (params.isInModif === undefined) ? false : params.isInModif,
|
||||
fieldtype: (params.fieldtype === undefined) ? costanti.FieldType.string : params.fieldtype,
|
||||
fieldtype_real: (params.fieldtype_real === undefined) ? ((params.fieldtype === undefined) ? costanti.FieldType.string : params.fieldtype) : params.fieldtype_real,
|
||||
field_outtype: (params.field_outtype === undefined) ? costanti.FieldType.string : params.field_outtype,
|
||||
@@ -112,6 +113,8 @@ export const colgallery = [
|
||||
label_trans: 'gallery.list',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
isInModif: true,
|
||||
}),
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec),
|
||||
@@ -1558,10 +1561,17 @@ const colTableGeneric = [
|
||||
AddCol({ name: 'label', label_trans: 'proj.longdescr' }),
|
||||
]
|
||||
|
||||
const colTableOperator = [
|
||||
export const colTableOperator = [
|
||||
AddCol({ name: 'username', label_trans: 'reg.username_short' }),
|
||||
AddCol({ name: 'name', label_trans: 'reg.name' }),
|
||||
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
|
||||
AddCol({ name: 'showInTeam', label_trans: 'op.showInTeam', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({
|
||||
name: 'arrDisciplines',
|
||||
label_trans: 'op.arrDisciplines',
|
||||
fieldtype: costanti.FieldType.multiselect,
|
||||
jointable: 'disciplines',
|
||||
}),
|
||||
AddCol({ name: 'email', label_trans: 'reg.email' }),
|
||||
AddCol({ name: 'img', label_trans: 'event.img' }),
|
||||
AddCol({ name: 'cell', label_trans: 'reg.cell' }),
|
||||
@@ -2485,6 +2495,14 @@ export const fieldsTable = {
|
||||
return colTableMovement
|
||||
},
|
||||
|
||||
colOperators() {
|
||||
return colTableOperator
|
||||
},
|
||||
|
||||
colDisciplines() {
|
||||
return coldisciplines
|
||||
},
|
||||
|
||||
userlist() {
|
||||
if (static_data.functionality.ENABLE_REG_AYNI) {
|
||||
return colTableUsers
|
||||
@@ -2582,34 +2600,6 @@ export const fieldsTable = {
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.name} ${rec.surname}`,
|
||||
},
|
||||
{
|
||||
value: 'navi',
|
||||
label: 'Navi',
|
||||
columns: colnavi,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.riga}.${rec.col}`,
|
||||
},
|
||||
{
|
||||
value: 'flotte',
|
||||
label: 'Flotte',
|
||||
columns: colflotte,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.riga}.${rec.col_prima} ${rec.riga}.${rec.col_ultima}`,
|
||||
},
|
||||
{
|
||||
value: 'navepersistente',
|
||||
label: 'Navi Persistenti',
|
||||
columns: colnavepersistente,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.riga}.${rec.col}`,
|
||||
},
|
||||
{
|
||||
value: 'listaingressos',
|
||||
label: 'Lista Ingresso',
|
||||
columns: collistaingresso,
|
||||
colkey: '_id',
|
||||
collabel: 'ind_order',
|
||||
},
|
||||
{
|
||||
value: 'graduatorias',
|
||||
label: 'Graduatoria',
|
||||
@@ -2927,7 +2917,7 @@ export const fieldsTable = {
|
||||
},
|
||||
{
|
||||
value: 'friendsandme',
|
||||
label: 'Amici',
|
||||
label: 'Amici_and_me',
|
||||
columns: colTableUsersGeneric,
|
||||
colkey: 'username',
|
||||
collabel: 'username',
|
||||
|
||||
@@ -2953,14 +2953,18 @@ export const tools = {
|
||||
},
|
||||
|
||||
getimgev(ev: IEvents) {
|
||||
if (!!ev) {
|
||||
if (!!ev.img_small)
|
||||
return '' + ev.img_small
|
||||
else if (!!ev.img)
|
||||
return '' + ev.img
|
||||
else
|
||||
return ''
|
||||
}
|
||||
return ''
|
||||
},
|
||||
|
||||
|
||||
convertHTMLtoText(myhtml: string) {
|
||||
let msg = myhtml
|
||||
msg = msg.replace('"', '"')
|
||||
|
||||
@@ -210,9 +210,16 @@ export const useUserStore = defineStore('UserStore', {
|
||||
// Check if is this User!
|
||||
if (this.my.username === username) return this.my
|
||||
|
||||
let trovato = null
|
||||
let trovato:any = null
|
||||
if (this.usersList) trovato = this.usersList.find((item: any) => item.username === username)
|
||||
|
||||
if (trovato) {
|
||||
if (trovato.surname === 'undefined')
|
||||
trovato.surname = ''
|
||||
if (trovato.name === 'undefined')
|
||||
trovato.name = ''
|
||||
}
|
||||
|
||||
return (trovato) || null
|
||||
},
|
||||
|
||||
@@ -280,13 +287,13 @@ export const useUserStore = defineStore('UserStore', {
|
||||
getNameSurnameByUserId(userId: string): string {
|
||||
|
||||
const user = this.getUserByUserId(userId)
|
||||
if (user) return `${user.name} ${user.surname}`
|
||||
if (user) return `${user.name} ` + !!user.surname ? user.surname : ''
|
||||
return `(${userId})`
|
||||
},
|
||||
|
||||
getNameSurnameByUsername(username: string): string {
|
||||
const user = this.getUserByUsername(username)
|
||||
if (user) return `${user.name} ${user.surname}`
|
||||
let user = this.getUserByUsername(username)
|
||||
if (user) return `${user.name} ` + !!user.surname ? user.surname : ''
|
||||
return `(${username})`
|
||||
},
|
||||
|
||||
@@ -294,10 +301,17 @@ export const useUserStore = defineStore('UserStore', {
|
||||
// Check if is this User!
|
||||
if (this.my._id === userId) return this.my
|
||||
|
||||
let trovato = null
|
||||
let trovato:any = null
|
||||
|
||||
if (this.usersList) trovato = this.usersList.find((item: any) => item._id === userId)
|
||||
|
||||
if (trovato) {
|
||||
if (trovato.surname === undefined)
|
||||
trovato.surname = ''
|
||||
if (trovato.name === undefined)
|
||||
trovato.name = ''
|
||||
}
|
||||
|
||||
return (trovato) || null
|
||||
},
|
||||
|
||||
|
||||
@@ -750,8 +750,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
this.networkDataReceived = true
|
||||
|
||||
// console.log('******* checkUpdates RES :', res.data.cfgServer)
|
||||
if (res.data.cfgServer) {
|
||||
this.cfgServer = [...res.data.cfgServer]
|
||||
if (res.data.CfgServer) {
|
||||
this.cfgServer = [...res.data.CfgServer]
|
||||
// console.log('res.data.cfgServer', res.data.cfgServer)
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ export default defineComponent({
|
||||
columns,
|
||||
filter,
|
||||
provaval,
|
||||
globalStore,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
12
src/views/login/signup_noteleg/signup_noteleg.scss
Executable file
@@ -0,0 +1,12 @@
|
||||
.signup {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 450px;
|
||||
}
|
||||
|
||||
|
||||
.wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
36
src/views/login/signup_noteleg/signup_noteleg.ts
Executable file
@@ -0,0 +1,36 @@
|
||||
import { computed, defineComponent, ref, watch } from 'vue'
|
||||
import { CSignUp } from '../../../components/CSignUp'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'SignUp',
|
||||
components: { CSignUp },
|
||||
props: {},
|
||||
setup() {
|
||||
const $route = useRoute()
|
||||
|
||||
const adult = ref(false)
|
||||
const invited = computed(() => $route.params.invited)
|
||||
|
||||
// @ts-ignore
|
||||
watch(() => invited, (newval, oldval) => {
|
||||
console.log('$route.params.invited')
|
||||
adult.value = !!$route.params.invited
|
||||
})
|
||||
|
||||
function created() {
|
||||
if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, '')) {
|
||||
// @ts-ignore
|
||||
tools.setCookie(tools.APORTADOR_SOLIDARIO, $route.params.invited ? $route.params.invited : '')
|
||||
}
|
||||
}
|
||||
|
||||
created()
|
||||
|
||||
return {}
|
||||
},
|
||||
})
|
||||
14
src/views/login/signup_noteleg/signup_noteleg.vue
Executable file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<q-page padding class="signup">
|
||||
<CSignUp :showcell="false" :showaportador="false" :show_namesurname="true" :need_Telegram="false">
|
||||
|
||||
</CSignUp>
|
||||
</q-page>
|
||||
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./signup_noteleg.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './signup_noteleg.scss';
|
||||
</style>
|
||||