Compare commits
17 Commits
beforeRisI
...
1.0.20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a3ebc69ca | ||
|
|
f7656c8379 | ||
|
|
19b5b3ea11 | ||
|
|
39e21600ca | ||
|
|
dffcc28690 | ||
|
|
4f7d736830 | ||
|
|
9f472eb37f | ||
|
|
a1bc03017c | ||
|
|
8bc6dec1da | ||
|
|
ee5235549e | ||
|
|
fdf232b351 | ||
|
|
bfedcd634e | ||
|
|
2314b07428 | ||
|
|
b29caade62 | ||
|
|
cbf3bdafc7 | ||
|
|
f1702d76d6 | ||
|
|
6b400448d4 |
@@ -12,6 +12,7 @@ const msg_website_es = {
|
|||||||
stars: 'Voto',
|
stars: 'Voto',
|
||||||
color: 'Colore',
|
color: 'Colore',
|
||||||
theme: 'Tema',
|
theme: 'Tema',
|
||||||
|
producer: 'Produttore',
|
||||||
},
|
},
|
||||||
hours: {
|
hours: {
|
||||||
descr: 'Descrizione',
|
descr: 'Descrizione',
|
||||||
|
|||||||
30
_ALL_SITES/piuchebuono.app/.env.development
Executable file
30
_ALL_SITES/piuchebuono.app/.env.development
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
APP_VERSION="1.0.21"
|
||||||
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
|
APP_ID="17"
|
||||||
|
DIRECTORY_LOCAL="newfreeplanet"
|
||||||
|
DIRECTORY_SERVER="freeplanet_serverside"
|
||||||
|
SERVERDIR_WEBSITE=""
|
||||||
|
SERVERPW_WEBSITE=""
|
||||||
|
APP_URL="https://localhost"
|
||||||
|
URL_FACEBOOK="https://www.facebook.com/freeplanetapp"
|
||||||
|
PROVA_PAOLO="PROVA ENV FUNZIONA!"
|
||||||
|
LANG_DEFAULT="it"
|
||||||
|
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||||
|
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||||
|
MONGODB_HOST="https://localhost:3000"
|
||||||
|
LOGO_REG='piuchebuono-logo-full.png'
|
||||||
|
TEST_NAME="Paolo"
|
||||||
|
TEST_SURNAME="Arena"
|
||||||
|
TEST_EMAIL=""
|
||||||
|
TEST_USERNAME=""
|
||||||
|
TEST_PASSWORD=""
|
||||||
|
TEST_APORTADOR=""
|
||||||
|
PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8'
|
||||||
|
IN_CONSTRUCTION="0"
|
||||||
|
DEBUG="1"
|
||||||
|
TELEGRAM_SUPPORT=""
|
||||||
|
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||||
|
TEST_CELL=""
|
||||||
|
ISTEST=1
|
||||||
|
INLOCALE=1
|
||||||
|
BAK_MONGODB_HOST="http://192.168.0.200:3000"
|
||||||
28
_ALL_SITES/piuchebuono.app/.env.test
Executable file
28
_ALL_SITES/piuchebuono.app/.env.test
Executable file
@@ -0,0 +1,28 @@
|
|||||||
|
APP_VERSION="1.0.20"
|
||||||
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
|
APP_ID="13"
|
||||||
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
|
DIRECTORY_SERVER=test.freeplanet_serverside
|
||||||
|
SERVERDIR_WEBSITE="test.riso.app"
|
||||||
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
|
APP_URL="https://test.riso.app"
|
||||||
|
URL_FACEBOOK=""
|
||||||
|
PROVA_PAOLO=""
|
||||||
|
LANG_DEFAULT="it"
|
||||||
|
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||||
|
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||||
|
MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||||
|
LOGO_REG='riso-logo-full.png'
|
||||||
|
TEST_NAME=""
|
||||||
|
TEST_SURNAME=""
|
||||||
|
TEST_EMAIL=""
|
||||||
|
TEST_USERNAME=""
|
||||||
|
TEST_PASSWORD=""
|
||||||
|
TEST_APORTADOR=""
|
||||||
|
PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||||
|
IN_CONSTRUCTION="0"
|
||||||
|
DEBUG="1"
|
||||||
|
TELEGRAM_SUPPORT=""
|
||||||
|
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||||
|
TEST_CELL=""
|
||||||
|
ISTEST=1
|
||||||
448
_ALL_SITES/piuchebuono.app/db/data/popolazione.js
Normal file
448
_ALL_SITES/piuchebuono.app/db/data/popolazione.js
Normal file
File diff suppressed because one or more lines are too long
11
_ALL_SITES/piuchebuono.app/db/db_data.js
Executable file
11
_ALL_SITES/piuchebuono.app/db/db_data.js
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
import { IEvents } from '../model';
|
||||||
|
|
||||||
|
export const db_data = {
|
||||||
|
URL_FACEBOOK: '',
|
||||||
|
|
||||||
|
userdata: {
|
||||||
|
calendar_editable: false,
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
392
_ALL_SITES/piuchebuono.app/db/i18n_website.js
Executable file
392
_ALL_SITES/piuchebuono.app/db/i18n_website.js
Executable file
@@ -0,0 +1,392 @@
|
|||||||
|
const msg_website = {
|
||||||
|
it: {
|
||||||
|
pages: {
|
||||||
|
home: 'Principale',
|
||||||
|
SignUp: 'Registrazione',
|
||||||
|
SignUp2: 'Registrazione2',
|
||||||
|
SignIn: 'Login',
|
||||||
|
vreg: 'Verifica Reg',
|
||||||
|
Test: 'Test',
|
||||||
|
TestLocal: 'TestLocal',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Todo: 'Todo',
|
||||||
|
personal: 'Personale',
|
||||||
|
bacheca: 'Bacheca',
|
||||||
|
shopping: 'Spesa',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
projects: 'Progetti',
|
||||||
|
favproj: 'Favoriti',
|
||||||
|
},
|
||||||
|
projall: 'Tutti',
|
||||||
|
projectsShared: 'Miei Condivisi',
|
||||||
|
myprojects: 'Miei Personali',
|
||||||
|
msg: {
|
||||||
|
hello: 'Buongiorno',
|
||||||
|
myAppName: 'FreePlanet',
|
||||||
|
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito e senza Pubblicità',
|
||||||
|
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à',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||||
|
descrapp_pag1: 'Siamo la <strong>Rete Italiana di Scambio Orizzontale</strong>, abbiamo creato questa pittaforma 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: 'Free 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: 'Free Talent',
|
||||||
|
descr: 'Condividi i tuoi <strong>Talenti</strong> e <strong>Abilità</strong>, '
|
||||||
|
+ 'al posto del denaro guadagnagnerai <strong>Tempo</strong>.<br> '
|
||||||
|
+ '<strong>"1 ora"</strong> diventa moneta di scambio, uguale per tutti.<br>'
|
||||||
|
+ 'Potrai utilizzare questi tuoi <strong>"Crediti Tempo"</strong> per soddisfare le tue necessità, cercando nelle <strong>Competenze Disponibili</strong>.<br>'
|
||||||
|
+ 'Nel Dare e Ricevere, si creeranno così legami di <strong>Amicizia, Solidarietà, Cooperazione e Divertimento</strong><br><br>'
|
||||||
|
+ 'Questo progetto vuole diffondere, ora in maniera informatizzata, questa realtà che gia esiste da tanti anni, e viene chiamata <strong>"Banca del Tempo"</strong>. '
|
||||||
|
+ 'Le <strong>segreterie</strong> sparse in tutto il mondo, serviranno a dare maggiore <strong>affidabilità</strong> e <strong>fiducia</strong> negli scambi di talenti tra persone sconosciute. '
|
||||||
|
+ 'Creeremo così una <strong>rete di fiducia</strong> nel vicinato, come giá viene praticato in numerosi <strong>Ecovillaggi</strong> e Comunità del mondo.',
|
||||||
|
},
|
||||||
|
freegas: {
|
||||||
|
title: 'Free G.A.S.',
|
||||||
|
descr: 'Ti piacerebbe utilizzare una App che ti permetta facilmente di acquistare Prodotti Locali direttamente dal <strong>Produttore</strong>?<br>'
|
||||||
|
+ 'Con i <strong>Gruppi di Acquisto Solidale</strong> si evitano intermediazioni inutili, ottenendo parecchi benefici tra cui:<br>'
|
||||||
|
+ '<ul class="mylist" style="padding-left: 20px;"><li><strong>Qualitá Superiore</strong> del prodotto</li>'
|
||||||
|
+ '<li>Le <strong>Recensioni</strong> dei consumatori favoriranno i Produttori con Sani Intenti</li>'
|
||||||
|
+ '<li>Possiblità d\'interagire con il Produttore</li>'
|
||||||
|
+ '<li>Apertura alle Relazioni tra persone, condividendo <strong>Ricette</strong> e <strong>Consigli</strong> preziosi</li>'
|
||||||
|
+ '<li><strong>Risparmio</strong> di soldi (prezzi all\'Ingrosso)</li>'
|
||||||
|
+ '<li>Valorizzare il <strong>Territorio</strong> e l\'Economia <strong>Locale</strong></li>'
|
||||||
|
+ '<li>Condizioni <strong>Eque</strong> per i Lavoratori</li>'
|
||||||
|
+ '<li>Ridotto <strong>Impatto Ambientale</strong></ul>',
|
||||||
|
},
|
||||||
|
freeliving: {
|
||||||
|
title: 'Free Co-Living',
|
||||||
|
descr: 'Unire più realtà, condividendo l\'esperienza di abitare insieme, per un periodo definito:<br>'
|
||||||
|
+ '1) C\'è chi <strong>Vive solo</strong> ed ha una casa.<br>'
|
||||||
|
+ '2) Chi ha bisogno di un <strong>alloggio</strong> temporaneo.<br><br>'
|
||||||
|
+ 'Oggi sempre più persone <strong>abitano da sole</strong> e vorrebbero continuare a vivere nella propria abitazione.<br>'
|
||||||
|
+ 'Altre persone invece hanno bisogno di una <strong>stanza</strong>, per scelta o per necessita, ed in cambio sono disponibili a '
|
||||||
|
+ '<strong>contribuire alle spese</strong> per le utenze domestiche o magari <strong>aiutare</strong> la persona a <strong>fare la spesa</strong>, cucinare, <strong>pulire casa</strong> oppure offrendogli semplicemente <strong>compagnia</strong>.<br><br>'
|
||||||
|
+ 'Tramite questo strumento, le persone potranno trovarsi, mettersi in contatto e decidere in che forma <strong>co-abitare</strong> e per quanto tempo. Le <strong>recensioni</strong> rilasciate ed il <strong>dettaglio</strong> dei profili utenti, '
|
||||||
|
+ 'aiuterà nella scelta della persona più in <strong>sintonia</strong>.',
|
||||||
|
|
||||||
|
},
|
||||||
|
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>Chi gestisce una <strong>Banca del Tempo</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>Condividendolo</strong> a tutti coloro che vogliono far parte insieme della crescita e sviluppo di una Nuova Era</li>'
|
||||||
|
+ '<li>Rispondendo ai <strong>Sondaggi Popolari</strong> e lasciando <strong>Feedback</strong></li>'
|
||||||
|
+ '<li>Tramite una <strong>donazione</strong> (<strong>anche 1€</strong> ) per le spese.<br>'
|
||||||
|
+ '</ul>'
|
||||||
|
+ 'Vedo 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</strong> con gli altri.<br>',
|
||||||
|
},
|
||||||
|
multiplatform: {
|
||||||
|
title: 'Multi-piattaforma',
|
||||||
|
descr: 'E\' compatibile con Google Chrome, Firefox, Safari, iOS, Android e PC. L\'Applicazione s\'installa facilmente, senza passare dallo store. '
|
||||||
|
+ 'basta condividere il nome del sito <strong>www.freeplanet.app</strong>.<br>'
|
||||||
|
+ 'Dopo la registrazione chiederà di aggiungerlo alla lista delle applicazioni e sullo sfondo',
|
||||||
|
},
|
||||||
|
free: {
|
||||||
|
title: 'Gratuita, Open Source e Niente Pubblicità',
|
||||||
|
descr: 'Questa App <strong>non è in vendita</strong>, non ha scopi commerciali, <strong>non ha prezzo</strong> ed appartiene al <strong>Popolo del Nuovo Mondo</strong>.<br>Chiunque potrá utilizzarla e beneficiarne.<br>A me il compito di gestirla e proteggerla. '
|
||||||
|
+ 'Verranno accettate solo donazioni Libere di privati ed Associazioni no-profit, in linea con i Principi, che serviranno per coprire le spese.<br>' +
|
||||||
|
+ '<strong>Grazie a Tutti per il sostegno</strong>. ',
|
||||||
|
},
|
||||||
|
contacts: 'Contatti',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
es: {
|
||||||
|
pages: {
|
||||||
|
home: 'Principal',
|
||||||
|
SignUp: 'Nueva Cuenta',
|
||||||
|
SignIn: 'Entrar',
|
||||||
|
vreg: 'Verifica Reg',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorías',
|
||||||
|
Todo: 'Tareas',
|
||||||
|
personal: 'Personal',
|
||||||
|
work: 'Trabajo',
|
||||||
|
shopping: 'Compras',
|
||||||
|
Admin: 'Administración',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
projects: 'Proyectos',
|
||||||
|
},
|
||||||
|
favproj: 'Favoritos',
|
||||||
|
projall: 'Todos',
|
||||||
|
projectsShared: 'Mis Compartidos',
|
||||||
|
myprojects: 'Mis Personales',
|
||||||
|
msg: {
|
||||||
|
hello: 'Buenos Días',
|
||||||
|
myAppName: 'FreePlanet',
|
||||||
|
myAppDescription: 'El primer Verdadero Social Libre, justo y Solidario Donde vive Conciencia y Ayuda comunitaria, Gratis y sin publicidad',
|
||||||
|
underconstruction: 'App en construcción...',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: 'El primer Verdadero Social',
|
||||||
|
sottoTitoloApp2: 'Libre, justo y Solidario',
|
||||||
|
sottoTitoloApp3: 'Donde vive Conciencia y Ayuda comunitaria',
|
||||||
|
sottoTitoloApp4: 'Gratis y sin publicidad',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
descrapp_title1: 'Unidos para evolucionar y experimentar',
|
||||||
|
descrapp_pag1: 'Redescubra cómo el valor de <strong>Compartir</strong> y <strong>Cooperación</strong> puede ayudarnos a encontrar el profundo '
|
||||||
|
+ 'sentido de la <strong>Vida</strong>, perdido en esta sociedad consumista, y mostrando esos <strong>Principios Naturales Saludables</strong> y la <strong>Hermandad Humana</strong>'
|
||||||
|
+ 'que toda la población antigua conocía bien.',
|
||||||
|
descrapp_pag2: 'Ha llegado el momento de utilizar las nuevas herramientas <strong>tecnológicas</strong> en nuestro <strong>favor</strong>, para <strong>liberarnos</strong> '
|
||||||
|
+ 'tan lentamente desde la <strong>esclavitud</strong> de <strong>"Trabaja para generar dinero"</strong> y transformando nuestra <strong>Capacidad</strong> en'
|
||||||
|
+ '<strong>Recursos humanos</strong> para poder apoyar y vivir en <strong>Armonia</strong> con otros.',
|
||||||
|
freesocial: {
|
||||||
|
title: 'Free Social',
|
||||||
|
descr: 'Una comunidad organizada por <strong>Categorías</strong>, donde puedes unirte a <strong>Grupos temáticos</strong>, '
|
||||||
|
+ 'Compartir <strong>experiencias</strong> y combinar habilidades para organizar y apoyar <strong>proyectos innovadores</strong> para la gente.<br><br>'
|
||||||
|
+ 'Los desarrollos <strong>éticos</strong> como <strong>:<br>Auto-producción</strong>, <strong>Sostenibilidad</strong>, '
|
||||||
|
+ 'la Buena <strong>Salud natural</strong> y <strong>Respeto por el Medio Ambiente</strong> y para todos los <strong>Seres vivos</strong> de este'
|
||||||
|
+ '<strong>Planeta</strong>. Cualquiera puede expresar su <strong>consentimiento o disidencia</strong> participando en <strong>Encuestas Interactivas</strong> '
|
||||||
|
+ 'y llevar a cabo juntos los <strong>Cambios</strong> necesarios para nuestra sociedad.',
|
||||||
|
},
|
||||||
|
freetalent: {
|
||||||
|
title: 'Free Talent',
|
||||||
|
descr: 'Comparte tus <strong>Talentos</strong> y <strong>Habilidades</strong>, '
|
||||||
|
+ 'en lugar de dinero, ganarás <strong>Tiempo</strong>. <br>'
|
||||||
|
+ '<strong>"1 hora"</strong> se convierte en una moneda de intercambio, igual para todos. <br>'
|
||||||
|
+ 'Puedes usar estos <strong>"Créditos de tiempo"</strong> para satisfacer tus necesidades, buscando en <strong>Habilidades disponibles</strong>. <br> '
|
||||||
|
+ 'En Dar y Recibir, crearemos así vínculos de <strong>Amistad, Solidaridad, Cooperación y Diversión</strong>. <br> <br>'
|
||||||
|
+ 'Este proyecto apunta a difundir esta realidad, que ya existe desde hace muchos años y se llama <strong>"Banco de tiempo"</strong>. '
|
||||||
|
+ 'Las <strong>secretarías</strong> dispersas por todo el mundo, servirán para dar mayor <strong>fiabilidad</strong> y <strong>confianza</strong> en el intercambio de talentos entre personas desconocidas. '
|
||||||
|
+ 'Así crearemos una <strong>red de confianza</strong> en el vecindario, como ya se practica en numerosos <strong>Ecoaldeas</strong> y en la Comunidades del mundo.',
|
||||||
|
},
|
||||||
|
freegas: {
|
||||||
|
title: 'Free G.A.S. (G.C.S.)',
|
||||||
|
descr: '¿Le gustaría usar una aplicación que le permita comprar productos locales directamente desde el <strong>Productor</strong>? <br> '
|
||||||
|
+ 'Con <strong>Grupos de Compra Solidarios</strong> evitamos intermediarios innecesarios, obteniendo muchos beneficios, incluyendo: <br>'
|
||||||
|
+ '<ul class = "mylist" style = "padding-left: 20px;"> <li> <strong>Superior Quality</strong> del producto </li>'
|
||||||
|
+ '<li> Opiniones <strong>de consumidores</strong> favorecerá a los productores con intenciones saludables </li>'
|
||||||
|
+ '<li> Posibilidad de interactuar con el Productor </li>'
|
||||||
|
+ '<li> Abierto a relaciones entre personas, compartiendo <strong>Recetas</strong> y <strong>Consejos</strong> preciosos </li>'
|
||||||
|
+ '<li> <strong>Ahorros</strong> de dinero (precios al por mayor) </li>'
|
||||||
|
+ '<li> Mejorando el <strong>Territorio</strong> y la Economía <strong>Local</strong> </li>'
|
||||||
|
+ '<li> Condiciones <strong>Justa</strong> para Trabajadores </li>'
|
||||||
|
+ '<li> Reducido <strong>Impacto Ambiental</strong> </ul>',
|
||||||
|
},
|
||||||
|
freeliving: {
|
||||||
|
title: 'Free Co-Living',
|
||||||
|
descr: 'Para unir más realidad, compartiendo la experiencia de vivir juntos, por un período definido: <br> '
|
||||||
|
+ '1) Hay quien <strong>vive solo</strong> y tiene un hogar. <br>'
|
||||||
|
+ '2) Quién necesita un alojamiento <strong>temporal</strong>. <br><br>'
|
||||||
|
+ 'Hoy en día, más y más personas <strong>viven solas</strong> y les gustaría seguir viviendo en sus propios hogares. <br>'
|
||||||
|
+ 'Otras personas necesitan una <strong>Habitación</strong>, por elección o por necesidad, y a cambio están disponibles en'
|
||||||
|
+ '<strong>contribuir a los gastos</strong> para los billetes de casa o tal vez <strong>ayuda</strong> a la persona mayor para <strong>ir de compras</strong>, cocinar, <strong>limpiar casa</strong> o simplemente ofreciéndole <strong>compañía</strong>. <br><br> '
|
||||||
|
+ 'A través de esta herramienta, las personas pueden ponerse en contacto y decidir en qué forma <strong>co-habitar</strong>. Los <strong>comentarios</strong> publicados y el <strong>detalle</strong> de los perfiles de usuario, '
|
||||||
|
+ 'ayudará a elegir a la persona más en <strong>armonía</strong>.',
|
||||||
|
|
||||||
|
},
|
||||||
|
freecollabora: {
|
||||||
|
title: '¿Quién puede colaborar?',
|
||||||
|
descr: 'Todos aquellos que están en línea con <strong>Principios éticos</strong> y la investigación de <strong>Bienestar Global del Planeta</strong> <br> '
|
||||||
|
+ 'Por eso son bienvenidos:'
|
||||||
|
+ '<ul class = "mylist" style = "padding-left: 20px;">'
|
||||||
|
+ '<li> <strong>Asociaciones sin ánimo de lucro, Ecoaldeas, Comunidades</strong> </li>'
|
||||||
|
+ '<li> Grupos que desean promover <strong>Proyectos sociales innovadores</strong> para <strong>Feliz Decrecimiento</strong> </li>'
|
||||||
|
+ '<li> Quién administra un <strong>Grupo de Compra Solidario (G.C.S.)</strong> </li>'
|
||||||
|
+ '<li><strong>Productores locales Éticos</strong></li>'
|
||||||
|
+ '<li> Quién administra un <strong>Banco de Tiempo</strong> </li>'
|
||||||
|
+ '<li> <strong>Cualquier persona que quiera participar</strong>, en la forma que considere más apropiada. </li>'
|
||||||
|
+ '</ul>',
|
||||||
|
},
|
||||||
|
freesostieni: {
|
||||||
|
title: '¿Cómo apoyar el proyecto?',
|
||||||
|
descr: '<ul class="mylist" style="padding-left: 20px;">'
|
||||||
|
+ '<li> <strong>Compartiéndolo</strong> a todos aquellos que quieran unirse en el crecimiento y desarrollo de una Nueva Era </li> '
|
||||||
|
+ '<li> Respondiendo a <strong>Encuestas populares</strong> y dejando <strong>Comentarios</strong> </li>'
|
||||||
|
+ '<li> A través de una <strong>donación</strong> (<strong>incluso € 1</strong>) para los gastos. <br>'
|
||||||
|
+ '</ul>'
|
||||||
|
+ '<br>Veo un <strong>futuro</strong> en el que ya no usarás dinero. Donde las personas <strong>se ayudarán unos a otros</strong> y no necesiten "poseer" cosas, pero <strong>compartirán</strong> con otros. <br> ',
|
||||||
|
},
|
||||||
|
multiplatform: {
|
||||||
|
title: 'Multi-plataforma',
|
||||||
|
descr: 'Compatible con Google Chrome, Firefox, Safari, iOS, Android y PC. La aplicación se instala fácilmente, sin pasar por el store. '
|
||||||
|
+ 'para compartirlo, necesita solo el nombre del sitio web: <strong>www.freeplanet.app</strong>.<br>'
|
||||||
|
+ 'Después del registro, le pedirá que lo agregue a la lista de aplicaciones y en la pantalla.',
|
||||||
|
},
|
||||||
|
free: {
|
||||||
|
title: 'Libre, Código Abierto y Sin Publicidad',
|
||||||
|
descr: 'Esta aplicación <strong>no está a la venta</strong>, no tiene un propósito comercial, <strong>no tiene precio</strong> y pertenece a <strong>la Gente del Nuevo Mundo</strong>.<br>'
|
||||||
|
+ 'Cualquiera puede usarla y beneficiarse.<br> A mí la tarea de gestionarlo y protegerlo. '
|
||||||
|
+ 'Solo se aceptarán donaciones de particulares y asociaciones sin änimo de lucro, en línea con los Principios, que se utilizarán para cubrir los gastos. <br>'
|
||||||
|
+ '<strong>Gracias a todos por el apoyo</strong>. ',
|
||||||
|
},
|
||||||
|
contacts: 'Contactos',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
enUs: {
|
||||||
|
pages: {
|
||||||
|
home: 'Dashboard',
|
||||||
|
SignUp: 'SignUp',
|
||||||
|
SignIn: 'SignIn',
|
||||||
|
vreg: 'Verify Reg',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Category',
|
||||||
|
Todo: 'Todo',
|
||||||
|
personal: 'Personal',
|
||||||
|
work: 'Work',
|
||||||
|
shopping: 'Shopping',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
projects: 'Projects',
|
||||||
|
},
|
||||||
|
favproj: 'Favorite',
|
||||||
|
projall: 'All',
|
||||||
|
projectsShared: 'My Shared',
|
||||||
|
myprojects: 'My Personals',
|
||||||
|
msg: {
|
||||||
|
hello: 'Hello!',
|
||||||
|
myAppName: 'FreePlanet',
|
||||||
|
myAppDescription: 'The first Real Social Free, Fair and Equitable Where the conscience and community help live. Free and without advertising',
|
||||||
|
underconstruction: 'App in construction...',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: 'The first Real Social',
|
||||||
|
sottoTitoloApp2: 'Free, Fair and Equitable',
|
||||||
|
sottoTitoloApp3: 'Where the conscience and community help live',
|
||||||
|
sottoTitoloApp4: 'Free and without advertising',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
descrapp_title1: 'Together to Evolve and Experiment',
|
||||||
|
descrapp_pag1: 'Rediscover how the value of <strong>Sharing</strong> and <strong>Cooperation</strong>, can help us find the deep meaning of'
|
||||||
|
+ '<strong>Life</strong>, lost in this consumer society, and showing those <strong>Healthy Natural Principles</strong> and Human <strong>Brotherhood</strong>'
|
||||||
|
+ 'that entire ancient populations knew well.',
|
||||||
|
descrapp_pag2: 'The time has come to use the new <strong>Technological</strong> tools in our <strong>favor</strong>, to <strong>Free ourselves</strong> '
|
||||||
|
+ 'so slowly from the <strong>slavery</strong> of the <strong>"Work to generate Money"</strong> and transforming our <strong>Capacity</strong> into'
|
||||||
|
+ '<strong>Human Resources</strong> to be able to support and live in <strong>Harmony</strong> with others.',
|
||||||
|
freesocial: {
|
||||||
|
title: 'Free Social',
|
||||||
|
descr: 'A Community organized by <strong>Categories</strong>, where you can join <strong>Thematic Groups</strong>, '
|
||||||
|
+ 'Share <strong>Experiences</strong> and combine Skills to organize and support <strong>Innovative Projects</strong> for the People.<br><br>'
|
||||||
|
+ '<strong>Ethical</strong> developments such as <strong>Auto-Production</strong>, <strong>Sustainability</strong>, '
|
||||||
|
+ 'Good <strong>Natural Health</strong> and <strong>Respect for the Environment</strong> and for all <strong>Living Beings</strong> of this'
|
||||||
|
+ '<strong>Planet</strong>. Anyone can express their <strong>Consent or Dissent</strong> by participating in <strong>Interactive Surveys</strong> '
|
||||||
|
+ 'and carry out together the <strong>Changes</strong> needed for our society.',
|
||||||
|
},
|
||||||
|
freetalent: {
|
||||||
|
title: 'Free Talent',
|
||||||
|
descr: 'Share your <strong>Talents</strong> and <strong>Skills</strong>, '
|
||||||
|
+ 'instead of money, you\'ll earn <strong>Time</strong>. <br>'
|
||||||
|
+ '<strong>"1 hour"</strong> becomes a currency of exchange, equal for all. <br>'
|
||||||
|
+ 'You can use these <strong>"Time Credits"</strong> to meet your needs, looking in <strong>Available Skills</strong>. <br>'
|
||||||
|
+ 'In Giving and Receiving, we will thus create bonds of <strong>Friendship, Solidarity, Cooperation and Enjoyment</strong> <br> <br>'
|
||||||
|
+ 'This project aims to spread this reality, which already exists for many years and is called <strong>"Time Bank"</strong>. '
|
||||||
|
+ 'The <strong>secretariats</strong> in all over the world, will serve an extra to give greater <strong>reliability</strong> and <strong>trust</strong> in the exchange of talents between unknown people. '
|
||||||
|
+ 'We will thus create a <strong>trust network</strong> in the neighborhood, as is already practiced in numerous <strong>Ecovillages</strong> and Community of the world. ',
|
||||||
|
},
|
||||||
|
freegas: {
|
||||||
|
title: 'Free G.A.S.',
|
||||||
|
descr: 'Would you like to use an App that allows you to easily Buy Local Products directly from <strong>Manufacturer</strong>? <br> '
|
||||||
|
+ 'With <strong>Solidarity Purchase Groups</strong> (in Italian: "Gruppo di Aacquisto Solidale") we avoid unnecessary intermediaries, obtaining many benefits including: <br>'
|
||||||
|
+ '<ul class="mylist" style="padding-left: 20px;"> <li> <strong>Superior Quality</strong> of the product </li>'
|
||||||
|
+ '<li> Consumer <strong>Reviews</strong> will favor Producers with Healthy Intents </li>'
|
||||||
|
+ '<li> Possibility to interact with the Producer </li>'
|
||||||
|
+ '<li> Open to Relations between people, sharing <strong>Recipes</strong> and precious <strong>Tips</strong> </li>'
|
||||||
|
+ '<li> <strong>Savings</strong> money (wholesale prices) </li>'
|
||||||
|
+ '<li> Enhancing the <strong>Territory</strong> and the <strong>Local Economy</strong> </li>'
|
||||||
|
+ '<li> <strong>Fair Conditions</strong> for Workers </li>'
|
||||||
|
+ '<li> Reduced <strong>Environmental Impact</strong> </ul>',
|
||||||
|
},
|
||||||
|
freeliving: {
|
||||||
|
title: 'Free Co-Living',
|
||||||
|
descr: 'Join more reality, sharing the experience of living together, for a defined period: <br> '
|
||||||
|
+ '1) Someone <strong>Lives alone</strong> and has a house. <br>'
|
||||||
|
+ '2) Who needs a temporary <strong> accommodation </strong>. <br><br>'
|
||||||
|
+ 'Today more and more people <strong> live alone </strong> and would like to continue living in their own house. <br>'
|
||||||
|
+ 'Other people instead need a <strong>room</strong>, by choice or by necessity, and in return they are available to'
|
||||||
|
+ '<strong>contribute to expenses</strong> for households or maybe <strong>help</strong> to <strong>go shopping</strong>, cooking, <strong>cleaning house</strong> or simply offering him <strong>companionship</strong>. <br> '
|
||||||
|
+ 'Through this tool, people can get in touch and decide in which way <strong>co-living</strong>. The <strong>reviews</strong> released and the <strong>detail</strong> of user profiles, '
|
||||||
|
+ 'will help in <strong>choosing</strong> the person more in <strong>tune</strong>.',
|
||||||
|
|
||||||
|
},
|
||||||
|
freecollabora: {
|
||||||
|
title: 'Who can collaborate?',
|
||||||
|
descr: 'All those who are in line with <strong>Ethical Principles</strong> and research of <strong>Global Wellness of the Planet</strong> <br> '
|
||||||
|
+ 'Therefore they are welcome:'
|
||||||
|
+ '<ul class = "mylist" style = "padding-left: 20px;">'
|
||||||
|
+ '<li> <strong>Non-profit associations, Ecovillages, Communities</strong> </li>'
|
||||||
|
+ '<li> Groups that want to promote <strong>Innovative Social Projects</strong> for <strong>Happy Degrowth</strong> </li>'
|
||||||
|
+ '<li> Who manages a <strong>Solidarity Purchase Group</strong> </li>'
|
||||||
|
+ '<li><strong>Local Ethical Producers</strong></li>'
|
||||||
|
+ '<li> Who manages a <strong>Time Bank</strong> </li>'
|
||||||
|
+ '<li> <strong>Anyone who wants to participate</strong>, in the form it considers most appropriate. </li>'
|
||||||
|
+ '</ul>',
|
||||||
|
},
|
||||||
|
freesostieni: {
|
||||||
|
title: 'How to support the project?',
|
||||||
|
descr: '<ul class="mylist" style="padding-left: 20px;">'
|
||||||
|
+ '<li> <strong>Sharing it</strong> to all those who want to join together in the growth and development of a New Era </li> '
|
||||||
|
+ '<li> Answering to <strong>Popular Polls</strong> and leaving <strong>Feedback</strong> </li>'
|
||||||
|
+ '<li> Through a <strong>donation</strong> (<strong>even $ 1</strong>) for expenses. <br>'
|
||||||
|
+ '</ul><br>'
|
||||||
|
+ 'I see a <strong>future</strong> where you will no longer use money. Where people <strong>will help each other</strong> and won\'t need to "own" things, but <strong>will share</strong> with others. <br> ',
|
||||||
|
},
|
||||||
|
multiplatform: {
|
||||||
|
title: 'Multi-platform',
|
||||||
|
descr: 'It is compatible with Google Chrome, Firefox, Safari, iOS, Android and PC. The Application is easily installed, without going through the store. '
|
||||||
|
+ 'just share the nametranslate of this site <strong>www.freeplanet.app</strong>.<br>'
|
||||||
|
+ 'After registration it will ask to be added to the application list and in the screen',
|
||||||
|
},
|
||||||
|
free: {
|
||||||
|
title: 'Free, Open Source and No Advertising',
|
||||||
|
descr: 'This App <strong>is not for sale</strong>, has no commercial purpose, <strong>is priceless</strong> and belongs to the <strong>New World People</strong>.'
|
||||||
|
+ '<br>Anyone can use it and benefit from it.<br>To me the task of managing it and protecting it. '
|
||||||
|
+ 'Only donations from private individuals and non-profit associations will be accepted, in line with the Principles, which will be used to cover the expenses. <br>'
|
||||||
|
+ '<strong>Thanks all for the support</strong>. ',
|
||||||
|
},
|
||||||
|
contacts: 'Contacts',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fr: {
|
||||||
|
pages: {
|
||||||
|
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
de: {
|
||||||
|
pages: {
|
||||||
|
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default msg_website;
|
||||||
88
_ALL_SITES/piuchebuono.app/db/lang/ws_de.js
Executable file
88
_ALL_SITES/piuchebuono.app/db/lang/ws_de.js
Executable file
@@ -0,0 +1,88 @@
|
|||||||
|
const msg_website_de = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'AYNI',
|
||||||
|
siteshortname: 'Ayni',
|
||||||
|
botname: 'AYNI BOT',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'Profilo',
|
||||||
|
payment: 'Pagamenti',
|
||||||
|
regok: 'Registrazione Confermata',
|
||||||
|
presentazione: 'Presentazione',
|
||||||
|
presentazione2: 'Presentazione',
|
||||||
|
invita: 'Invita Persone',
|
||||||
|
SignUp: 'Nuova Registrazione',
|
||||||
|
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
||||||
|
SignUp2: 'Registrazione',
|
||||||
|
SignUp4: 'Reg',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'Statistiche',
|
||||||
|
nextzoom: 'Conferenze',
|
||||||
|
requestresetpwd: 'Richiesta Reset Password',
|
||||||
|
vreg: 'Verifica Reg',
|
||||||
|
dashboard: 'Lavagna',
|
||||||
|
statoattuale: 'Stato Attuale',
|
||||||
|
posizione_in_programmazione: 'Lista d\'Imbarco',
|
||||||
|
posizione_in_nave: 'Lista Navi',
|
||||||
|
nave: 'Nave',
|
||||||
|
testimonial: 'Testimonianze',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
extralist: 'Lista Extra',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
chisiamo: 'Chi Siamo',
|
||||||
|
linkamici: 'Link Amici',
|
||||||
|
dovesiamo: 'Dove Siamo',
|
||||||
|
evento: 'Evento',
|
||||||
|
eventodef: 'Evento:',
|
||||||
|
prova: 'prova',
|
||||||
|
dbop: 'Operazioni',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Partecipanti',
|
||||||
|
verifieds: 'Verificati',
|
||||||
|
autorizzati: 'Autorizzati',
|
||||||
|
passeggeri: 'Passeggeri Navi',
|
||||||
|
giainlista: 'Gia in Lista',
|
||||||
|
newreg: 'Ultime Registrazioni:',
|
||||||
|
nationality: 'Nazionalità',
|
||||||
|
verified: 'Verificata',
|
||||||
|
nonverified: 'Non Verificata',
|
||||||
|
req7: 'Con 5 passi entri nella lista d\'Imbarco',
|
||||||
|
req9: 'Con 7 passi aiuti {sitename} a Crescere!',
|
||||||
|
req: 'Passi',
|
||||||
|
people: 'Inv.',
|
||||||
|
peoplelegend: 'Numero d\'Invitati',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '',
|
||||||
|
sottoTitoloApp2: '',
|
||||||
|
sottoTitoloApp3: '',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
nostra_missione: 'Nostra Missione',
|
||||||
|
associazione: '',
|
||||||
|
tit_come_associarsi: 'Come Associarsi',
|
||||||
|
testo_come_associarsi: '',
|
||||||
|
titlecontatti: 'CONTATTI',
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
videotitle: 'VIDEO',
|
||||||
|
how: 'COME FUNZIONA',
|
||||||
|
what: 'COSA TI SERVE',
|
||||||
|
step: 'PASSI DA COMPIERE',
|
||||||
|
testimonial: 'TESTIMONIANZE',
|
||||||
|
faq: 'DOMANDE FREQUENTI (FAQ)',
|
||||||
|
advise: 'SUGGERIMENTI',
|
||||||
|
download: 'MATERIALE DISPONIBILE',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_de;
|
||||||
160
_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js
Executable file
160
_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js
Executable file
@@ -0,0 +1,160 @@
|
|||||||
|
const msg_website_enUs = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Fiore Della Vita',
|
||||||
|
siteshortname: 'Fiore Della Vita',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
},
|
||||||
|
products: {
|
||||||
|
quantity: 'Quantità',
|
||||||
|
quantityAvailable: 'Disponibili',
|
||||||
|
weight: 'Peso',
|
||||||
|
stars: 'Voto',
|
||||||
|
color: 'Colore',
|
||||||
|
theme: 'Tema',
|
||||||
|
},
|
||||||
|
hours: {
|
||||||
|
descr: 'Descrizione',
|
||||||
|
date: 'Data',
|
||||||
|
time_start: 'Ora Inizio',
|
||||||
|
time_end: 'Ora Fine',
|
||||||
|
hours: 'Ore',
|
||||||
|
note: 'Note Extra',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'Profile',
|
||||||
|
profile2: 'ProfiloU',
|
||||||
|
mypage2: 'mypage2',
|
||||||
|
myservice2: 'myservice2',
|
||||||
|
test: 'Test',
|
||||||
|
projects: 'Progetti',
|
||||||
|
report: 'Report Ore',
|
||||||
|
producer: 'Produttore',
|
||||||
|
orderinfo: 'Ordini Effettuati',
|
||||||
|
products: 'Prodotti',
|
||||||
|
productslist: 'Lista Prodotti',
|
||||||
|
collabora: 'Collabora',
|
||||||
|
storehouses: 'Magazzino',
|
||||||
|
departments: 'Uffici',
|
||||||
|
orders: 'Ordini Ricevuti',
|
||||||
|
orders2: 'Ordini Ricevuti',
|
||||||
|
sharewithus: 'Condividi con Noi',
|
||||||
|
checkout: 'Carrello',
|
||||||
|
payment: 'Payments',
|
||||||
|
regok: 'Registration Confirmed',
|
||||||
|
presentazione: 'Presentation',
|
||||||
|
presentazione2: 'Presentation',
|
||||||
|
invita: 'Invite People',
|
||||||
|
SignUp: 'Registration',
|
||||||
|
SignUpIscrizione: 'Diventa Socio CNM',
|
||||||
|
SignUp_alreadylista: 'Registration for those who are already in the List!',
|
||||||
|
SignUp2: 'Registration',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'Current state',
|
||||||
|
nextzoom: 'Conferences',
|
||||||
|
requestresetpwd: 'Password Reset Request',
|
||||||
|
vreg: 'Check Registration',
|
||||||
|
dashboard: 'Dashboard',
|
||||||
|
statoattuale: 'Current Status',
|
||||||
|
posizione_in_programmazione: 'Boarding List',
|
||||||
|
posizione_in_nave: 'Ships List',
|
||||||
|
nave: 'Ship',
|
||||||
|
testimonial: 'Reviews',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Sites: 'Siti Web',
|
||||||
|
extralist: 'Lista Extra',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
chisiamo: 'Chi Siamo',
|
||||||
|
linkamici: 'Link Amici',
|
||||||
|
dovesiamo: 'Dove Siamo',
|
||||||
|
calendarioeventi: 'Calendario Eventi',
|
||||||
|
evento: 'Evento',
|
||||||
|
eventodef: 'Evento:',
|
||||||
|
prova: 'prova',
|
||||||
|
dbop: 'Operazioni',
|
||||||
|
projall: 'Comunitari',
|
||||||
|
groups: 'Lista Gruppi',
|
||||||
|
projectsShared: 'Condivisi da me',
|
||||||
|
myprojects: 'Privati',
|
||||||
|
favproj: 'Favoriti',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Participants',
|
||||||
|
verifieds: 'Verificati',
|
||||||
|
autorizzati: 'Autorizzati',
|
||||||
|
autorizzare: 'In attesa di Abilitazione',
|
||||||
|
passeggeri: 'Passengers Ships',
|
||||||
|
giainlista: 'Already in the List',
|
||||||
|
newreg: 'New registrations:',
|
||||||
|
nationality: 'Nationality',
|
||||||
|
nationality_born: 'Nazione di Nascita',
|
||||||
|
verified: 'Verified',
|
||||||
|
nonverified: 'Not Verified',
|
||||||
|
req7: 'With 5 steps you enter the boarding list.',
|
||||||
|
req9: 'With 7 steps help {sitename} to grow!',
|
||||||
|
req: 'Steps',
|
||||||
|
people: 'Gue.',
|
||||||
|
peoplelegend: 'Number of guests',
|
||||||
|
},
|
||||||
|
admin_ecommerce: 'ECommerce',
|
||||||
|
ecommerce: 'Prodotti',
|
||||||
|
ecommerce_menu: 'ECommerce1',
|
||||||
|
hours: 'Ore',
|
||||||
|
department: 'Uffici',
|
||||||
|
title: 'Titolo',
|
||||||
|
path: 'Percorso',
|
||||||
|
img1: 'Immagine 1',
|
||||||
|
contentfield: 'Testo 1',
|
||||||
|
video1: 'Video 1',
|
||||||
|
ratio1: 'Ratio 1',
|
||||||
|
img2: 'Immagine 2',
|
||||||
|
content2: 'Testo 2',
|
||||||
|
video2: 'Video 2',
|
||||||
|
ratio2: 'Ratio 2',
|
||||||
|
img3: 'Immagine 3',
|
||||||
|
content3: 'Testo 3',
|
||||||
|
video3: 'Video 3',
|
||||||
|
ratio3: 'Ratio 3',
|
||||||
|
content4: 'Testo 4',
|
||||||
|
active: 'Attiva',
|
||||||
|
inmenu: 'Sul Menu',
|
||||||
|
submenu: 'SottoMenu',
|
||||||
|
infooter: 'Sul Footer',
|
||||||
|
internalpage: 'Pagina Interna',
|
||||||
|
order: 'Posizione',
|
||||||
|
icon: 'Icona',
|
||||||
|
imgback: 'Immagine di Sfondo',
|
||||||
|
onlyif_logged: 'Solo se Loggati',
|
||||||
|
only_residenti: 'Solo Residenti',
|
||||||
|
only_consiglio: 'Solo Consiglieri',
|
||||||
|
color: 'Colore',
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
underconstruction: 'App in costruzione...',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '..',
|
||||||
|
sottoTitoloApp2: '..',
|
||||||
|
sottoTitoloApp3: '..',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
titlecontatti: 'CONTACTS',
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
how: 'HOW TO WORK',
|
||||||
|
what: 'WHAT YOU NEED',
|
||||||
|
step: 'STEPS TO DO',
|
||||||
|
videotitle: 'VIDEO',
|
||||||
|
testimonial: 'REVIEWS',
|
||||||
|
faq: 'FREQUENTLY ASKED QUESTIONS (FAQ)',
|
||||||
|
advise: 'ADVISE',
|
||||||
|
download: 'AVAILABLE DOCUMENTS',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_enUs;
|
||||||
159
_ALL_SITES/piuchebuono.app/db/lang/ws_es.js
Executable file
159
_ALL_SITES/piuchebuono.app/db/lang/ws_es.js
Executable file
@@ -0,0 +1,159 @@
|
|||||||
|
const msg_website_es = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Fiore Della Vita',
|
||||||
|
siteshortname: 'Fiore Della Vita',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
},
|
||||||
|
products: {
|
||||||
|
quantity: 'Quantità',
|
||||||
|
quantityAvailable: 'Disponibili',
|
||||||
|
weight: 'Peso',
|
||||||
|
stars: 'Voto',
|
||||||
|
color: 'Colore',
|
||||||
|
theme: 'Tema',
|
||||||
|
},
|
||||||
|
hours: {
|
||||||
|
descr: 'Descrizione',
|
||||||
|
date: 'Data',
|
||||||
|
time_start: 'Ora Inizio',
|
||||||
|
time_end: 'Ora Fine',
|
||||||
|
hours: 'Ore',
|
||||||
|
note: 'Note Extra',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'Perfil',
|
||||||
|
profile2: 'ProfiloU',
|
||||||
|
mypage2: 'mypage2',
|
||||||
|
myservice2: 'myservice2',
|
||||||
|
mygood2: 'mygood2',
|
||||||
|
test: 'Test',
|
||||||
|
projects: 'Progetti',
|
||||||
|
report: 'Report Ore',
|
||||||
|
producer: 'Produttore',
|
||||||
|
orderinfo: 'Ordini Effettuati',
|
||||||
|
products: 'Prodotti',
|
||||||
|
productslist: 'Lista Prodotti',
|
||||||
|
collabora: 'Collabora',
|
||||||
|
storehouses: 'Magazzino',
|
||||||
|
departments: 'Uffici',
|
||||||
|
orders: 'Ordini Ricevuti',
|
||||||
|
orders2: 'Ordini Ricevuti',
|
||||||
|
sharewithus: 'Condividi con Noi',
|
||||||
|
checkout: 'Carrello',
|
||||||
|
payment: 'Paiements',
|
||||||
|
regok: 'Registro confirmado',
|
||||||
|
presentazione: 'Presentación',
|
||||||
|
presentazione2: 'Presentación',
|
||||||
|
invita: 'Invitar a la gente',
|
||||||
|
SignUp: 'Registro',
|
||||||
|
SignUpIscrizione: 'Diventa Socio CNM',
|
||||||
|
SignUp_alreadylista: 'Inscripción para los que ya están en la Lista!',
|
||||||
|
SignUp2: 'Registro',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'Estadísticas',
|
||||||
|
nextzoom: 'Conferencias',
|
||||||
|
requestresetpwd: 'Solicitud de restablecimiento de contraseña',
|
||||||
|
calendarioeventi: 'Calendario Eventos',
|
||||||
|
vreg: 'Verifica Reg',
|
||||||
|
dashboard: 'Tablero',
|
||||||
|
statoattuale: 'Estado Actual',
|
||||||
|
posizione_in_programmazione: 'Lista de embarque',
|
||||||
|
posizione_in_nave: 'Lista de Naves',
|
||||||
|
nave: 'Nave',
|
||||||
|
testimonial: 'Opiniones',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Sites: 'Siti Web',
|
||||||
|
extralist: 'Lista Extra',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
chisiamo: 'Chi Siamo',
|
||||||
|
linkamici: 'Link Amici',
|
||||||
|
dovesiamo: 'Dove Siamo',
|
||||||
|
evento: 'Evento',
|
||||||
|
eventodef: 'Evento:',
|
||||||
|
prova: 'prova',
|
||||||
|
dbop: 'Operazioni',
|
||||||
|
projall: 'Comunitari',
|
||||||
|
groups: 'Lista Gruppi',
|
||||||
|
projectsShared: 'Condivisi da me',
|
||||||
|
myprojects: 'Privati',
|
||||||
|
favproj: 'Favoriti',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Participantes',
|
||||||
|
verifieds: 'Verificati',
|
||||||
|
autorizzati: 'Autorizzati',
|
||||||
|
autorizzare: 'In attesa di Abilitazione',
|
||||||
|
passeggeri: 'Barcos de pasajeros',
|
||||||
|
giainlista: 'Gia in Lista',
|
||||||
|
newreg: 'Nuevas inscripciones :',
|
||||||
|
nationality: 'Nacionalidad',
|
||||||
|
verified: 'Verificada',
|
||||||
|
nonverified: 'No Verificada',
|
||||||
|
req7: 'Con 5 pasos usted entra en la lista de embarque',
|
||||||
|
req9: 'Con 7 pasos ayuda a {sitename} a crecer!',
|
||||||
|
req: 'Pasos',
|
||||||
|
people: 'Inv.',
|
||||||
|
peoplelegend: 'Número de invitados',
|
||||||
|
},
|
||||||
|
admin_ecommerce: 'ECommerce',
|
||||||
|
ecommerce: 'Prodotti',
|
||||||
|
ecommerce_menu: 'ECommerce1',
|
||||||
|
hours: 'Ore',
|
||||||
|
department: 'Uffici',
|
||||||
|
title: 'Titolo',
|
||||||
|
path: 'Percorso',
|
||||||
|
img1: 'Immagine 1',
|
||||||
|
contentfield: 'Testo 1',
|
||||||
|
video1: 'Video 1',
|
||||||
|
ratio1: 'Ratio 1',
|
||||||
|
img2: 'Immagine 2',
|
||||||
|
content2: 'Testo 2',
|
||||||
|
video2: 'Video 2',
|
||||||
|
ratio2: 'Ratio 2',
|
||||||
|
img3: 'Immagine 3',
|
||||||
|
content3: 'Testo 3',
|
||||||
|
video3: 'Video 3',
|
||||||
|
ratio3: 'Ratio 3',
|
||||||
|
content4: 'Testo 4',
|
||||||
|
active: 'Attiva',
|
||||||
|
inmenu: 'Sul Menu',
|
||||||
|
submenu: 'SottoMenu',
|
||||||
|
infooter: 'Sul Footer',
|
||||||
|
internalpage: 'Pagina Interna',
|
||||||
|
order: 'Posizione',
|
||||||
|
icon: 'Icona',
|
||||||
|
imgback: 'Immagine di Sfondo',
|
||||||
|
onlyif_logged: 'Solo se Loggati',
|
||||||
|
only_residenti: 'Solo Residenti',
|
||||||
|
only_consiglio: 'Solo Consiglieri',
|
||||||
|
color: 'Colore',
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '..',
|
||||||
|
sottoTitoloApp2: '..',
|
||||||
|
sottoTitoloApp3: '..',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
titlecontatti: 'CONTACTOS',
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
how: 'COMO FUNCIONA',
|
||||||
|
what: 'QUE NECESITAS',
|
||||||
|
step: 'PASOS A REALIZAR',
|
||||||
|
videotitle: 'VIDEO',
|
||||||
|
testimonial: 'TESTIMONIOS',
|
||||||
|
faq: 'PREGUNTAS FRECUENTES (FAQ)',
|
||||||
|
advise: 'CONSEJOS',
|
||||||
|
download: 'MATERIAL DISPONIBLES',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_es;
|
||||||
64
_ALL_SITES/piuchebuono.app/db/lang/ws_fr.js
Executable file
64
_ALL_SITES/piuchebuono.app/db/lang/ws_fr.js
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
const msg_website_fr = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Fiore Della Vita',
|
||||||
|
siteshortname: 'Fiore Della Vita',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
titlecontatti: 'CONTACTS',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'profil',
|
||||||
|
payment: 'paiements',
|
||||||
|
regok: 'Inscription confirmée',
|
||||||
|
presentazione: 'Présentation',
|
||||||
|
presentazione2: 'Présentation',
|
||||||
|
invita: 'Inviter des personnes',
|
||||||
|
SignUp: 'Inscription',
|
||||||
|
SignUp_alreadylista: 'Inscription pour ceux qui sont déjà inscrits sur la liste!',
|
||||||
|
SignUp2: 'Inscription',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'État actuel',
|
||||||
|
nextzoom: 'Conférences',
|
||||||
|
requestresetpwd: 'Demande de réinitialisation du mot de passe',
|
||||||
|
vreg: 'Vérifier l\'inscription',
|
||||||
|
dashboard: 'Tableau de bord',
|
||||||
|
statoattuale: 'Situation Actuelle',
|
||||||
|
posizione_in_programmazione: 'Liste d\'embarquement',
|
||||||
|
posizione_in_nave: 'Liste des Navires',
|
||||||
|
nave: 'Navires',
|
||||||
|
testimonial: 'Commentaires',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Participants',
|
||||||
|
passeggeri: 'Navires à passagers',
|
||||||
|
giainlista: 'Gia in Lista',
|
||||||
|
newreg: 'Nouvelles inscriptions:',
|
||||||
|
nationality: 'Nationalité',
|
||||||
|
verified: 'Vérifié',
|
||||||
|
nonverified: 'Non Vérifié',
|
||||||
|
req7: 'Avec 5 étapes, vous entrez dans la liste d\'embarquement.',
|
||||||
|
req9: 'Avec 7 étapes, aidez {sitename} à se développer !',
|
||||||
|
req: 'Étapes',
|
||||||
|
people: 'Inv.',
|
||||||
|
peoplelegend: 'Nombre d\'invités',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '..',
|
||||||
|
sottoTitoloApp2: '..',
|
||||||
|
sottoTitoloApp3: '..',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_fr;
|
||||||
218
_ALL_SITES/piuchebuono.app/db/lang/ws_it.js
Executable file
218
_ALL_SITES/piuchebuono.app/db/lang/ws_it.js
Executable file
@@ -0,0 +1,218 @@
|
|||||||
|
const msg_website_it = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Più che Buono',
|
||||||
|
siteshortname: 'Più che Buono',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
},
|
||||||
|
hours: {
|
||||||
|
descr: 'Descrizione',
|
||||||
|
date: 'Data',
|
||||||
|
time_start: 'Ora Inizio',
|
||||||
|
time_end: 'Ora Fine',
|
||||||
|
hours: 'Ore',
|
||||||
|
note: 'Note Extra',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'Profilo',
|
||||||
|
profile2: 'ProfiloU',
|
||||||
|
mypage2: 'mypage2',
|
||||||
|
myservice2: 'myservice2',
|
||||||
|
myhosps2: 'myhosps2',
|
||||||
|
mygood2: 'mygood2',
|
||||||
|
fundraising: 'Sostieni il Progetto',
|
||||||
|
notifs: 'Configura le Notifiche',
|
||||||
|
unsubscribe: 'Disiscriviti',
|
||||||
|
test: 'Test',
|
||||||
|
projects: 'Progetti',
|
||||||
|
report: 'Report Ore',
|
||||||
|
producer: 'Produttore',
|
||||||
|
orderinfo: 'Ordini Effettuati',
|
||||||
|
products: 'Prodotti',
|
||||||
|
productslist: 'Lista Prodotti',
|
||||||
|
collabora: 'Collabora',
|
||||||
|
categories: 'Categorie',
|
||||||
|
storehouses: 'Magazzino',
|
||||||
|
departments: 'Uffici',
|
||||||
|
orders: 'Ordini Ricevuti',
|
||||||
|
orders2: 'Ordini Ricevuti',
|
||||||
|
sharewithus: 'Condividi con Noi',
|
||||||
|
checkout: 'Carrello',
|
||||||
|
payment: 'Pagamenti',
|
||||||
|
regok: 'Registrazione Confermata',
|
||||||
|
presentazione: 'Presentazione',
|
||||||
|
presentazione2: 'Presentazione',
|
||||||
|
invita: 'Invita Persone',
|
||||||
|
SignUp: 'Modulo di Registrazione:',
|
||||||
|
SignUpCollettivo: 'Reg. Collettiva:',
|
||||||
|
SignUpCollettivo2: 'Registrazione Collettiva:',
|
||||||
|
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere <a href="https://play.google.com/store/apps/details?id=org.telegram.messenger" target="_blank">Telegram</a> installato<br>',
|
||||||
|
Registrazione_Con_Bot: '1) Copia questo username cliccandoci sopra:',
|
||||||
|
SignUpIscrizione: 'Diventa Socio CNM',
|
||||||
|
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
||||||
|
SignUp2: 'Registrazione',
|
||||||
|
SignUp3: 'Reg',
|
||||||
|
SignUp4: 'Reg',
|
||||||
|
SignUp5: 'Reg',
|
||||||
|
SignUp6: 'Registrati',
|
||||||
|
SignUp7: 'Registra',
|
||||||
|
SignUp11: 'Registra',
|
||||||
|
SignUpBot: 'Registrati con Telegram',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'Statistiche',
|
||||||
|
nextzoom: 'Conferenze',
|
||||||
|
requestresetpwd: 'Richiesta Reset Password',
|
||||||
|
vreg: 'Verifica Reg',
|
||||||
|
dashboard: 'Lavagna',
|
||||||
|
statoattuale: 'Stato Attuale',
|
||||||
|
posizione_in_programmazione: 'Lista d\'Imbarco',
|
||||||
|
posizione_in_nave: 'Lista Navi',
|
||||||
|
nave: 'Nave',
|
||||||
|
testimonial: 'Testimonianze',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Sites: 'Siti Web',
|
||||||
|
extralist: 'Lista Extra',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
chisiamo: 'Chi Siamo',
|
||||||
|
linkamici: 'Link Amici',
|
||||||
|
dovesiamo: 'Dove Siamo',
|
||||||
|
calendarioeventi: 'Calendario Eventi',
|
||||||
|
evento: 'Evento',
|
||||||
|
eventodef: 'Evento:',
|
||||||
|
prova: 'prova',
|
||||||
|
dbop: 'Operazioni',
|
||||||
|
projall: 'Comunitari',
|
||||||
|
groups: 'Lista Gruppi',
|
||||||
|
projectsShared: 'Condivisi da me',
|
||||||
|
myprojects: 'Privati',
|
||||||
|
favproj: 'Favoriti',
|
||||||
|
admin_ecommerce: 'ECommerce',
|
||||||
|
ecommerce: 'Prodotti',
|
||||||
|
ecommerce_menu: 'ECommerce1',
|
||||||
|
hours: 'Ore',
|
||||||
|
department: 'Uffici',
|
||||||
|
title: 'Titolo',
|
||||||
|
path: 'Percorso',
|
||||||
|
img1: 'Immagine 1',
|
||||||
|
contentfield: 'Testo 1',
|
||||||
|
video1: 'Video 1',
|
||||||
|
ratio1: 'Ratio 1',
|
||||||
|
img2: 'Immagine 2',
|
||||||
|
content2: 'Testo 2',
|
||||||
|
video2: 'Video 2',
|
||||||
|
ratio2: 'Ratio 2',
|
||||||
|
img3: 'Immagine 3',
|
||||||
|
content3: 'Testo 3',
|
||||||
|
video3: 'Video 3',
|
||||||
|
ratio3: 'Ratio 3',
|
||||||
|
content4: 'Testo 4',
|
||||||
|
active: 'Attiva',
|
||||||
|
inmenu: 'Sul Menu',
|
||||||
|
submenu: 'SottoMenu',
|
||||||
|
infooter: 'Sul Footer',
|
||||||
|
internalpage: 'Pagina Interna',
|
||||||
|
order: 'Posizione',
|
||||||
|
icon: 'Icona',
|
||||||
|
imgback: 'Immagine di Sfondo',
|
||||||
|
onlyif_logged: 'Solo se Loggati',
|
||||||
|
only_residenti: 'Solo Residenti',
|
||||||
|
only_consiglio: 'Solo Consiglieri',
|
||||||
|
color: 'Colore',
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppName: 'Più che Buono',
|
||||||
|
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||||
|
underconstruction: 'App in costruzione...',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: 'Rete Italiana di Scambio Orizzontale',
|
||||||
|
sottoTitoloApp2: '',
|
||||||
|
},
|
||||||
|
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.<br>' +
|
||||||
|
'<br><strong>R.I.S.O.</strong><br>' +
|
||||||
|
'<em>Siamo una rete di comunità consapevoli, basata sul sostegno reciproco, la fiducia, la condivisione e l\'ascolto. \n' +
|
||||||
|
'Coltiviamo terreno fertile per creare, in armonia con la natura, un mondo di collettività libere e autosufficienti, attraverso un circuito di scambio di esperienze umane, beni e servizi.<br>' +
|
||||||
|
'Partecipa al cambiamento. RISO sei anche tu!</em>',
|
||||||
|
freesocial: {
|
||||||
|
title: 'Social',
|
||||||
|
descr: 'Una Community organizzata per <strong>Categorie</strong>, dove potrai unirti a <strong>Gruppi Tematici</strong>, '
|
||||||
|
+ 'Condividere <strong>Esperienze</strong> e unire Competenze per organizzare e sostenere <strong>Progetti Innovativi</strong> per il Popolo.<br><br>'
|
||||||
|
+ 'Verranno evidenziati sviluppi <strong>Etici</strong> come l\'<strong>Auto-Produzione</strong>, la <strong>Sostenibilitá</strong>, '
|
||||||
|
+ 'la Buona <strong>Salute Naturale</strong> e il <strong>Rispetto per l\'Ambiente</strong> e per tutti gli <strong>Esseri Viventi</strong> di questo '
|
||||||
|
+ '<strong>Pianeta</strong>.',
|
||||||
|
},
|
||||||
|
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> dove potrai scegliere cosa chiedere in cambio (Dono, Offerta Libera, Baratto, Monete Alternative, ecc...).'
|
||||||
|
},
|
||||||
|
coin: {
|
||||||
|
title: 'RIS - Credito Alternativo',
|
||||||
|
},
|
||||||
|
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 <strong>vicinato</strong>, 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 <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>👨🏻💻 Con una <strong>piccola donazione</strong> per le spese dei Server, manutenzione e per i continui sviluppi e miglioramenti</li></ul>' +
|
||||||
|
'1) Tramite <strong><a href="https://paypal.me/paoloarena" target="_blank">Paypal</a></strong>:<br>' +
|
||||||
|
'<br>2) Tramite <strong>Satispay</strong>: <a href="https://www.satispay.com/app/match/link/money-box/S6Y-SVN--62712D42-35B0-4BB9-8511-410C2AB8CD45" target="_blank">Clicca qui</a><br>' +
|
||||||
|
'<div style="font-size: 1rem; background-color: white; color: blue; border: solid 2px #f00; margin: 5px; padding: 5px; border-radius: 10px; " ' +
|
||||||
|
'class="row justify-around">' +
|
||||||
|
'Se ancora non hai Satispay <a href="https://www.satispay.com/promo/PAOLOARENA4">Richiedila cliccando qui</a></br>' +
|
||||||
|
'</div>' +
|
||||||
|
'<br>3) Tramite <strong>Bonifico Bancario</strong>:<br>' +
|
||||||
|
'(Scrivi a Surya (<a href="https://t.me/surya1977">@surya1977</a>) per le coordinate</br>' +
|
||||||
|
'' +
|
||||||
|
'4) In alternativa scegli tu una forma di Dono <br />' +
|
||||||
|
'Grazie Mille per l\'Aiuto ed il Supporto' +
|
||||||
|
'<br>',
|
||||||
|
},
|
||||||
|
multiplatform: {
|
||||||
|
title: 'Multi-piattaforma',
|
||||||
|
descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza dover passare dallo store. '
|
||||||
|
+ 'basta entrare sul sito <strong>www.riso.app</strong>.<br>'
|
||||||
|
+ 'Dopo la registrazione chiederà di aggiungerlo alla <strong>Schermata Home</strong> (oppure cliccare sul menu "..." del browser e scegliere "<strong>Installa APP</strong>")',
|
||||||
|
},
|
||||||
|
free: {
|
||||||
|
title: 'Gratuita, Open Source e Niente Pubblicità',
|
||||||
|
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://gitlab.com/surya89" target="_blank">GitLab</a>.</em><br><br>'
|
||||||
|
+ '<strong>Grazie a Tutti per il sostegno</strong>. ',
|
||||||
|
},
|
||||||
|
titlecontatti: 'Contatti',
|
||||||
|
contacts: '',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_it;
|
||||||
74
_ALL_SITES/piuchebuono.app/db/lang/ws_pt.js
Executable file
74
_ALL_SITES/piuchebuono.app/db/lang/ws_pt.js
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
const msg_website_pt = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Fiore Della Vita',
|
||||||
|
siteshortname: 'Fiore Della Vita',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Home',
|
||||||
|
profile: 'Perfil',
|
||||||
|
payment: 'Pagamentos',
|
||||||
|
regok: 'Inscrição confirmada',
|
||||||
|
presentazione: 'Apresentação',
|
||||||
|
presentazione2: 'Apresentação',
|
||||||
|
invita: 'Convidar Pessoas',
|
||||||
|
SignUp: 'Inscrição',
|
||||||
|
SignUp_alreadylista: 'Inscrição para os que já estão na Lista!',
|
||||||
|
SignUp2: 'Inscrição',
|
||||||
|
SignIn: 'Login',
|
||||||
|
status: 'Estatísticas',
|
||||||
|
nextzoom: 'Conférences',
|
||||||
|
requestresetpwd: 'Pedido de redefinição de senha',
|
||||||
|
vreg: '',
|
||||||
|
dashboard: 'Tablero',
|
||||||
|
statoattuale: 'Status Atual',
|
||||||
|
posizione_in_programmazione: 'Lista de Embarque',
|
||||||
|
posizione_in_nave: 'Lista de Navios',
|
||||||
|
nave: 'Navios',
|
||||||
|
testimonial: 'Opiniones',
|
||||||
|
Test: 'Test',
|
||||||
|
Category: 'Categorie',
|
||||||
|
Admin: 'Admin',
|
||||||
|
Test1: 'Test1',
|
||||||
|
Test2: 'Test2',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Participantes',
|
||||||
|
passeggeri: 'Navios de Passageiros',
|
||||||
|
giainlista: 'Já na lista',
|
||||||
|
newreg: 'Últimas Inscrições:',
|
||||||
|
nationality: 'Nacionalidade',
|
||||||
|
verified: 'Verificado',
|
||||||
|
nonverified: 'Não verificado',
|
||||||
|
req7: 'Com 5 passos, o usuário entra na lista de embarque.',
|
||||||
|
req9: 'Com 7 passos ajudam a {sitename} a crescer!',
|
||||||
|
req: 'Passos',
|
||||||
|
people: 'Con.',
|
||||||
|
peoplelegend: 'Número de convidados',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '..',
|
||||||
|
sottoTitoloApp2: '..',
|
||||||
|
sottoTitoloApp3: '..',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
titlecontatti: 'CONTACTOS',
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
how: 'COMO FUNCIONA',
|
||||||
|
what: 'QUE NECESITAS',
|
||||||
|
step: 'PASOS A REALIZAR',
|
||||||
|
videotitle: 'VIDEO',
|
||||||
|
testimonial: 'TESTIMONIOS',
|
||||||
|
faq: 'PREGUNTAS FRECUENTES (FAQ)',
|
||||||
|
advise: 'CONSEJOS',
|
||||||
|
download: 'MATERIAL DISPONIBLES',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_pt;
|
||||||
59
_ALL_SITES/piuchebuono.app/db/lang/ws_si.js
Executable file
59
_ALL_SITES/piuchebuono.app/db/lang/ws_si.js
Executable file
@@ -0,0 +1,59 @@
|
|||||||
|
const msg_website_si = {
|
||||||
|
ws: {
|
||||||
|
sitename: 'Riso',
|
||||||
|
siteshortname: 'RISO',
|
||||||
|
botname: 'Riso BOT',
|
||||||
|
},
|
||||||
|
pages: {
|
||||||
|
home: 'Domača stran',
|
||||||
|
profile: 'Profil',
|
||||||
|
payment: 'Plačila',
|
||||||
|
regok: 'Registracija potrjena',
|
||||||
|
presentazione: 'Predstavitev',
|
||||||
|
presentazione2: 'Predstavitev',
|
||||||
|
invita: 'Povabi osebe',
|
||||||
|
SignUp: 'Nova Registracija',
|
||||||
|
SignUp2: 'Registracija',
|
||||||
|
SignIn: 'Vpis',
|
||||||
|
status: 'Statistika',
|
||||||
|
nextzoom: 'Conferenze',
|
||||||
|
requestresetpwd: 'Prošnja za ponastavitev Gesla',
|
||||||
|
vreg: 'Preveri Registracijo',
|
||||||
|
dashboard: 'Tabla',
|
||||||
|
statoattuale: 'TrenutniStatus',
|
||||||
|
posizione_in_programmazione: 'Seznam Plovbe',
|
||||||
|
posizione_in_nave: 'Seznam Ladiji',
|
||||||
|
nave: 'Ladje',
|
||||||
|
Admin: 'Administrator',
|
||||||
|
evento: 'Dogodek',
|
||||||
|
eventodef: 'Dogodek:',
|
||||||
|
statusreg: {
|
||||||
|
reg: 'Udeleženci',
|
||||||
|
passeggeri: 'Potniki Ladjic',
|
||||||
|
giainlista: 'Že na seznamu',
|
||||||
|
newreg: 'Zadnje Registracije:',
|
||||||
|
nationality: 'Nacionalnost',
|
||||||
|
verified: 'Preveri',
|
||||||
|
nonverified: 'Ni preverjeno',
|
||||||
|
req7: 'S 7 koraki vstopis na seznam za plovbo',
|
||||||
|
req9: 'Z 9-imi koraki pomagaš, da {sitename} Raste!',
|
||||||
|
req: 'Koraki',
|
||||||
|
people: 'Pov.',
|
||||||
|
peoplelegend: 'Število \'Povabljenih',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
msg: {
|
||||||
|
myAppDescription: '',
|
||||||
|
keywords_base: '',
|
||||||
|
myDescriz: '',
|
||||||
|
sottoTitoloApp: '',
|
||||||
|
sottoTitoloApp2: '',
|
||||||
|
sottoTitoloApp3: '',
|
||||||
|
sottoTitoloApp4: '',
|
||||||
|
},
|
||||||
|
homepage: {
|
||||||
|
titlecontatti: 'Kontakt',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default msg_website_si;
|
||||||
202
_ALL_SITES/piuchebuono.app/db/static_data.ts
Executable file
202
_ALL_SITES/piuchebuono.app/db/static_data.ts
Executable file
@@ -0,0 +1,202 @@
|
|||||||
|
import {
|
||||||
|
IListRoutes,
|
||||||
|
ILang,
|
||||||
|
IPreloadImages,
|
||||||
|
ISites,
|
||||||
|
} from '@model'
|
||||||
|
import { func } from '@store/Modules/fieldsTable'
|
||||||
|
|
||||||
|
|
||||||
|
const firstPage = {
|
||||||
|
active: true,
|
||||||
|
order: 5,
|
||||||
|
path: '/',
|
||||||
|
materialIcon: 'home',
|
||||||
|
name: 'pages.home',
|
||||||
|
component: () => import('@src/root/mainview/mainview.vue'),
|
||||||
|
reqauth: false,
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDynamicPages(site: ISites): IListRoutes[] {
|
||||||
|
|
||||||
|
const baseroutes: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 5,
|
||||||
|
path: '/',
|
||||||
|
materialIcon: 'home',
|
||||||
|
name: 'pages.home',
|
||||||
|
component: () => import('@src/root/mainview/mainview.vue'),
|
||||||
|
reqauth: false,
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
},
|
||||||
|
/*{
|
||||||
|
active: true,
|
||||||
|
order: 20,
|
||||||
|
path: '/events',
|
||||||
|
materialIcon: 'fas fa-bullhorn',
|
||||||
|
name: 'mypages.events',
|
||||||
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
},*/
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 120,
|
||||||
|
path: '/myprofile',
|
||||||
|
materialIcon: 'fas fa-user',
|
||||||
|
name: 'pages.profile',
|
||||||
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 120,
|
||||||
|
path: '/editprofile',
|
||||||
|
materialIcon: 'fas fa-user',
|
||||||
|
name: 'pages.profile3',
|
||||||
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 130,
|
||||||
|
path: '/friends',
|
||||||
|
materialIcon: 'fas fa-user-friends',
|
||||||
|
name: 'mypages.iscritti',
|
||||||
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: site.confpages && site.confpages.enableGroups,
|
||||||
|
order: 132,
|
||||||
|
path: '/groups',
|
||||||
|
materialIcon: 'fas fa-users',
|
||||||
|
name: 'mypages.groups',
|
||||||
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: true,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 136,
|
||||||
|
path: '/grp/:groupname',
|
||||||
|
materialIcon: 'fas fa-user',
|
||||||
|
name: 'proj.group2',
|
||||||
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
|
meta: { requiresAuth: true, newpage: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
path: '/separator',
|
||||||
|
name: 'separator',
|
||||||
|
order: 140,
|
||||||
|
isseparator: true,
|
||||||
|
inmenu: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 130,
|
||||||
|
path: '/mypage/:idBacheca',
|
||||||
|
materialIcon: 'fas fa-user',
|
||||||
|
name: 'pages.mypage2',
|
||||||
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
|
meta: { requiresAuth: true, newpage: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 130,
|
||||||
|
path: '/myservice/:idSkill',
|
||||||
|
materialIcon: '',
|
||||||
|
name: 'pages.myservice2',
|
||||||
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
|
meta: { requiresAuth: true, newpage: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 135,
|
||||||
|
path: '/myhosps/:idHosp',
|
||||||
|
materialIcon: '',
|
||||||
|
name: 'pages.myhosps2',
|
||||||
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
|
meta: { requiresAuth: true, newpage: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 132,
|
||||||
|
path: '/mygood/:idGood',
|
||||||
|
materialIcon: '',
|
||||||
|
name: 'pages.mygood2',
|
||||||
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
|
meta: { requiresAuth: true, newpage: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 150,
|
||||||
|
path: '/fundraising',
|
||||||
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
|
name: 'pages.fundraising',
|
||||||
|
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 80,
|
||||||
|
path: '/calendario-eventi',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'ris.calendario_eventi_riso',
|
||||||
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
|
extraclass: 'isCalendar',
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
return baseroutes
|
||||||
|
}
|
||||||
|
|
||||||
|
export function firstimagehome() {
|
||||||
|
|
||||||
|
let img = 'statics/images/background.jpg'
|
||||||
|
return img
|
||||||
|
}
|
||||||
|
|
||||||
|
const preLoadImages: IPreloadImages[] = []
|
||||||
|
|
||||||
|
export const lang_available: ILang[] = []
|
||||||
|
export const arrLangUsed: string[] = []
|
||||||
|
|
||||||
|
export const preloadedimages = []
|
||||||
|
|
||||||
|
export const routes: IListRoutes[] = [firstPage]
|
||||||
|
|
||||||
|
export const static_data = {
|
||||||
|
routes,
|
||||||
|
arrLangUsed,
|
||||||
|
getDynamicPages,
|
||||||
|
lang_available,
|
||||||
|
preLoadImages,
|
||||||
|
preloadedimages,
|
||||||
|
}
|
||||||
BIN
_ALL_SITES/piuchebuono.app/favicon.ico
Normal file
BIN
_ALL_SITES/piuchebuono.app/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
_ALL_SITES/piuchebuono.app/images/favicon.ico
Normal file
BIN
_ALL_SITES/piuchebuono.app/images/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
_ALL_SITES/piuchebuono.app/images/piuchebuono-logo-full.png
Normal file
BIN
_ALL_SITES/piuchebuono.app/images/piuchebuono-logo-full.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
143
_ALL_SITES/piuchebuono.app/package.json
Executable file
143
_ALL_SITES/piuchebuono.app/package.json
Executable file
@@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"name": "piuchebuono",
|
||||||
|
"version": "2.0.1",
|
||||||
|
"description": "PiuCheBuono",
|
||||||
|
"productName": "PiuCheBuono",
|
||||||
|
"author": "Paolo Arena",
|
||||||
|
"private": true,
|
||||||
|
"keywords": [],
|
||||||
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "quasar dev",
|
||||||
|
"build": "quasar build",
|
||||||
|
"buildpwa": "quasar build -m pwa",
|
||||||
|
"buildspa": "quasar build -m spa",
|
||||||
|
"lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./",
|
||||||
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
|
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
|
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
|
||||||
|
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m pwa",
|
||||||
|
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
|
||||||
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
|
"generate-sw": "workbox generateSW workbox-config.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@quasar/extras": "^1.16.7",
|
||||||
|
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.16",
|
||||||
|
"@vue-leaflet/vue-leaflet": "^0.9.0",
|
||||||
|
"@vue/compat": "^3.2.47",
|
||||||
|
"@vue/compiler-sfc": "^3.2.47",
|
||||||
|
"@vue/eslint-config-standard": "7.0.0",
|
||||||
|
"@vuelidate/core": "^2.0.2",
|
||||||
|
"@vuelidate/validators": "^2.0.2",
|
||||||
|
"acorn": "^8.8.2",
|
||||||
|
"animate.css": "^4.1.1",
|
||||||
|
"autoprefixer": "^10.4.14",
|
||||||
|
"axios": "^1.3.5",
|
||||||
|
"bcryptjs": "^2.4.3",
|
||||||
|
"chart.js": "3.9.1",
|
||||||
|
"core-js": "^3.30.0",
|
||||||
|
"crypto": "^1.0.1",
|
||||||
|
"date-fns": "^2.29.3",
|
||||||
|
"dotenv": "^16.0.3",
|
||||||
|
"echarts": "5.4.2",
|
||||||
|
"eslint-plugin-quasar": "^1.1.0",
|
||||||
|
"graphql": "^16.6.0",
|
||||||
|
"graphql-tag": "^2.12.6",
|
||||||
|
"gsap": "^3.11.5",
|
||||||
|
"jquery": "^3.6.4",
|
||||||
|
"js-cookie": "^3.0.1",
|
||||||
|
"localforage": "^1.10.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"normalize.css": "^8.0.1",
|
||||||
|
"npm": "^9.6.4",
|
||||||
|
"nprogress": "^0.2.0",
|
||||||
|
"pinia": "^2.0.33",
|
||||||
|
"prerender-spa-plugin": "^3.4.0",
|
||||||
|
"quasar": "^2.12.07",
|
||||||
|
"quasar-extras": "^2.0.9",
|
||||||
|
"register-service-worker": "^1.7.2",
|
||||||
|
"typescript-eslint": "^0.0.1-alpha.0",
|
||||||
|
"vee-validate": "^4.8.4",
|
||||||
|
"vue": "^3.2.47",
|
||||||
|
"vue-chart-3": "^3.1.8",
|
||||||
|
"vue-class-component": "^8.0.0-rc.1",
|
||||||
|
"vue-country-code": "^1.1.3",
|
||||||
|
"vue-echarts": "^6.5.4",
|
||||||
|
"vue-i18n": "^9.2.2",
|
||||||
|
"vue-idb": "^0.2.0",
|
||||||
|
"vue-loader": "^17.0.1",
|
||||||
|
"vue-property-decorator": "^10.0.0-rc.3",
|
||||||
|
"vue-router": "^4.1.6",
|
||||||
|
"vue-scroll-reveal": "^1.0.11",
|
||||||
|
"vue-social-sharing": "^4.0.0-alpha4",
|
||||||
|
"vue-svgicon": "^4.0.0-alpha.3",
|
||||||
|
"vue-timeago3": "^2.3.0",
|
||||||
|
"vue2-dragula": "^2.5.5",
|
||||||
|
"vuex": "^4.1.0",
|
||||||
|
"vuex-router-sync": "^6.0.0-rc.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@quasar/app": "^3.3.3",
|
||||||
|
"@types/bcryptjs": "^2.4.2",
|
||||||
|
"@types/dotenv": "^8.2.0",
|
||||||
|
"@types/googlemaps": "^3.43.3",
|
||||||
|
"@types/jest": "^29.5.0",
|
||||||
|
"@types/js-cookie": "^3.0.3",
|
||||||
|
"@types/node": "18.15.11",
|
||||||
|
"@types/nprogress": "^0.2.0",
|
||||||
|
"@types/vue-tel-input": "^2.1.2",
|
||||||
|
"@types/vuelidate": "^0.7.16",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^6.7.3",
|
||||||
|
"@typescript-eslint/parser": "^6.7.2",
|
||||||
|
"eslint": "^8.37.0",
|
||||||
|
"eslint-config-prettier": "^8.8.0",
|
||||||
|
"eslint-plugin-import": "^2.27.5",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
|
"eslint-plugin-vue": "^9.10.0",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
|
"html-webpack-plugin": "^5.5.0",
|
||||||
|
"http-proxy-middleware": "^2.0.6",
|
||||||
|
"jest": "^29.5.0",
|
||||||
|
"json-loader": "^0.5.7",
|
||||||
|
"node-sass": "^9.0.0",
|
||||||
|
"npm-check-updates": "^16.10.7",
|
||||||
|
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||||
|
"postcss": "^8.4.21",
|
||||||
|
"postcss-loader": "^7.2.4",
|
||||||
|
"sass-loader": "^13.2.2",
|
||||||
|
"strip-ansi": "=7.0.1",
|
||||||
|
"ts-jest": "^29.1.0",
|
||||||
|
"ts-loader": "^9.4.2",
|
||||||
|
"tslint": "^6.1.3",
|
||||||
|
"tslint-config-standard": "^9.0.0",
|
||||||
|
"tslint-loader": "^3.5.4",
|
||||||
|
"typescript": "^5.2.2",
|
||||||
|
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||||
|
"vueify": "^9.4.1",
|
||||||
|
"webpack": "^5.78.0",
|
||||||
|
"workbox-webpack-plugin": "^6.5.4"
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"crypto": false
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"last 100 Chrome versions",
|
||||||
|
"last 40 Firefox versions",
|
||||||
|
"last 20 Edge versions",
|
||||||
|
"last 55 Safari versions",
|
||||||
|
"last 90 Android versions",
|
||||||
|
"last 250 ChromeAndroid versions",
|
||||||
|
"last 60 FirefoxAndroid versions",
|
||||||
|
"last 35 iOS versions",
|
||||||
|
"last 10 Opera versions",
|
||||||
|
"> 0.03%",
|
||||||
|
"not dead"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16.14.0",
|
||||||
|
"npm": ">= 6.14.8",
|
||||||
|
"yarn": ">= 1.21.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
417
_ALL_SITES/piuchebuono.app/quasar.conf.js
Executable file
417
_ALL_SITES/piuchebuono.app/quasar.conf.js
Executable file
@@ -0,0 +1,417 @@
|
|||||||
|
/*
|
||||||
|
* This file runs in a Node context (it's NOT transpiled by Babel), so use only
|
||||||
|
* the ES6 features that are supported by your Node version. https://node.green/
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Configuration for your app
|
||||||
|
// https://v2.quasar.dev/quasar-cli/quasar-conf-js
|
||||||
|
|
||||||
|
/* eslint-env node */
|
||||||
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||||
|
/* eslint func-names: 0 */
|
||||||
|
/* eslint global-require: 0 */
|
||||||
|
const { configure } = require('quasar/wrappers');
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
const webpack = require('webpack')
|
||||||
|
const helpers = require('./helpers')
|
||||||
|
const envparser = require('./config/envparser')
|
||||||
|
|
||||||
|
// const ESLintPlugin = require('eslint-webpack-plugin')
|
||||||
|
|
||||||
|
module.exports = configure((ctx) => ({
|
||||||
|
// https://v2.quasar.dev/quasar-cli/supporting-ts
|
||||||
|
supportTS: {
|
||||||
|
tsCheckerConfig: {
|
||||||
|
eslint: {
|
||||||
|
enabled: true,
|
||||||
|
files: './src/**/*.{ts,tsx,jsx,vue}',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/prefetch-feature
|
||||||
|
// preFetch: true,
|
||||||
|
|
||||||
|
// app boot file (/src/boot)
|
||||||
|
// --> boot files are part of "main.js"
|
||||||
|
// https://v2.quasar.dev/quasar-cli/boot-files
|
||||||
|
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
|
||||||
|
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago'],
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||||
|
css: [
|
||||||
|
'app.scss',
|
||||||
|
// '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
||||||
|
],
|
||||||
|
|
||||||
|
// https://github.com/quasarframework/quasar/tree/dev/extras
|
||||||
|
extras: [
|
||||||
|
// 'ionicons-v4',
|
||||||
|
// 'mdi-v5',
|
||||||
|
// 'eva-icons',
|
||||||
|
// 'themify',
|
||||||
|
// 'line-awesome',
|
||||||
|
'ionicons-v4',
|
||||||
|
// 'mdi-v3',
|
||||||
|
'fontawesome-v5',
|
||||||
|
'roboto-font', // optional, you are not bound to it
|
||||||
|
'material-icons', // optional, you are not bound to it
|
||||||
|
'material-icons-outlined',
|
||||||
|
],
|
||||||
|
|
||||||
|
aliases: {
|
||||||
|
quasar: path.resolve(__dirname, 'node_modules/@quasar/'),
|
||||||
|
src: path.resolve(__dirname, 'src'),
|
||||||
|
statics: path.resolve(__dirname, 'src/statics'),
|
||||||
|
components: path.resolve(__dirname, 'src/components'),
|
||||||
|
views: path.resolve(__dirname, 'src/views/index.ts'),
|
||||||
|
icons: path.resolve(__dirname, 'src/assets/icons'),
|
||||||
|
images: path.resolve(__dirname, 'src/assets/images'),
|
||||||
|
classes: path.resolve(__dirname, 'src/classes/index.ts'),
|
||||||
|
fonts: path.resolve(__dirname, 'src/assets/fonts'),
|
||||||
|
utils: path.resolve(__dirname, 'src/utils/index.ts'),
|
||||||
|
css: path.resolve(__dirname, 'src/styles/variables.scss'),
|
||||||
|
router: path.resolve(__dirname, 'src/router/index.ts'),
|
||||||
|
validators: path.resolve(__dirname, 'src/utils/validators.ts'),
|
||||||
|
methods: path.resolve(__dirname, 'src/utils/methods.ts'),
|
||||||
|
filters: path.resolve(__dirname, 'src/utils/filters.ts'),
|
||||||
|
api: path.resolve(__dirname, 'src/store/Api/index.ts'),
|
||||||
|
paths: path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
|
||||||
|
store: path.resolve(__dirname, 'src/store/index.ts'),
|
||||||
|
modules: path.resolve(__dirname, 'src/store/Modules/index.ts'),
|
||||||
|
model: path.resolve(__dirname, 'src/model/index.ts'),
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
|
||||||
|
build: {
|
||||||
|
env: envparser(),
|
||||||
|
vueRouterMode: 'history',
|
||||||
|
vueCompiler: true,
|
||||||
|
gzip: false, // gzip true
|
||||||
|
analyze: false, // true
|
||||||
|
transpile: true,
|
||||||
|
transpileDependencies: [
|
||||||
|
/quasar-ui-qcalendar[\\/]src/
|
||||||
|
],
|
||||||
|
|
||||||
|
chainWebpack(chain, { isServer, isClient }) {
|
||||||
|
chain.resolve.alias
|
||||||
|
// .set('myalias', path.resolve(__dirname, './src/somefolder'))
|
||||||
|
.set('@', helpers.root('src'))
|
||||||
|
.set('@components', helpers.root('src/components/index.ts'))
|
||||||
|
.set('@boot', helpers.root('src/boot/*'))
|
||||||
|
.set('@costanti', helpers.root('src/store/Modules/costanti.ts'))
|
||||||
|
.set('@views', path.resolve(__dirname, 'src/views/index.ts'))
|
||||||
|
.set('@src', path.resolve(__dirname, 'src'))
|
||||||
|
.set('@css', path.resolve(__dirname, 'src/public/css/variables.scss'))
|
||||||
|
.set('@icons', path.resolve(__dirname, 'src/public/icons/*'))
|
||||||
|
.set('@images', path.resolve(__dirname, 'src/public/images/*'))
|
||||||
|
.set('@classes', path.resolve(__dirname, 'src/classes/index.ts'))
|
||||||
|
.set('@utils', path.resolve(__dirname, 'src/utils/index.ts'))
|
||||||
|
.set('@utils', path.resolve(__dirname, 'src/utils/*'))
|
||||||
|
.set('@router', path.resolve(__dirname, 'src/router/index.ts'))
|
||||||
|
.set('@validators', path.resolve(__dirname, 'src/utils/validators.ts'))
|
||||||
|
.set('@methods', path.resolve(__dirname, 'src/utils/methods.ts'))
|
||||||
|
.set('@api', path.resolve(__dirname, 'src/store/Api/index.ts'))
|
||||||
|
.set('@paths', path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'))
|
||||||
|
.set('@storemod', path.resolve(__dirname, 'src/store/Modules/*'))
|
||||||
|
.set('@store', path.resolve(__dirname, 'src/store'))
|
||||||
|
.set('@modules', path.resolve(__dirname, 'src/store/Modules/index.ts'))
|
||||||
|
.set('@model', path.resolve(__dirname, 'src/model/index.ts'))
|
||||||
|
},
|
||||||
|
// extractCSS: false,
|
||||||
|
// transpile: false,
|
||||||
|
|
||||||
|
// Add dependencies for transpiling with Babel (Array of string/regex)
|
||||||
|
// (from node_modules, which are by default not transpiled).
|
||||||
|
// Applies only if "transpile" is set to true.
|
||||||
|
// transpileDependencies: [],
|
||||||
|
|
||||||
|
// rtl: true, // https://v2.quasar.dev/options/rtl-support
|
||||||
|
// preloadChunks: true,
|
||||||
|
// showProgress: false,
|
||||||
|
// gzip: true,
|
||||||
|
// analyze: true,
|
||||||
|
|
||||||
|
// Options below are automatically set depending on the env, set them if you want to override
|
||||||
|
// extractCSS: false,
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/handling-webpack
|
||||||
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
|
||||||
|
dev: {
|
||||||
|
env: require('./.env.development'),
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
https: false,
|
||||||
|
port: 8088,
|
||||||
|
open: false, // opens browser window automatically
|
||||||
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Access-Control-Allow-Headers': '*',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
|
||||||
|
framework: {
|
||||||
|
config: {},
|
||||||
|
|
||||||
|
// iconSet: 'material-icons', // Quasar icon set
|
||||||
|
// lang: 'en-US', // Quasar language pack
|
||||||
|
|
||||||
|
// For special cases outside of where the auto-import strategy can have an impact
|
||||||
|
// (like functional components as one of the examples),
|
||||||
|
// you can manually specify Quasar components/directives to be available everywhere:
|
||||||
|
//
|
||||||
|
components: [
|
||||||
|
'QLayout',
|
||||||
|
'QDrawer',
|
||||||
|
'QItemSection',
|
||||||
|
'QHeader',
|
||||||
|
'QFooter',
|
||||||
|
'QPageContainer',
|
||||||
|
'QPage',
|
||||||
|
'QPopupProxy',
|
||||||
|
'QToolbar',
|
||||||
|
'QToolbarTitle',
|
||||||
|
'QBtn',
|
||||||
|
'QBtnDropdown',
|
||||||
|
'QColor',
|
||||||
|
'QIcon',
|
||||||
|
'QList',
|
||||||
|
'QKnob',
|
||||||
|
'QItemLabel',
|
||||||
|
'QItem',
|
||||||
|
'QCard',
|
||||||
|
'QMarkupTable',
|
||||||
|
'QSpace',
|
||||||
|
'QDialog',
|
||||||
|
'QBadge',
|
||||||
|
'QForm',
|
||||||
|
'QCardSection',
|
||||||
|
'QCardActions',
|
||||||
|
'QField',
|
||||||
|
'QInput',
|
||||||
|
'QSelect',
|
||||||
|
'QMenu',
|
||||||
|
'QToggle',
|
||||||
|
'QFab',
|
||||||
|
'QInfiniteScroll',
|
||||||
|
'QAjaxBar',
|
||||||
|
'QChip',
|
||||||
|
'QExpansionItem',
|
||||||
|
'QCheckbox',
|
||||||
|
'QBanner',
|
||||||
|
'QInnerLoading',
|
||||||
|
'QSpinnerGears',
|
||||||
|
'QSpinnerDots',
|
||||||
|
'QDate',
|
||||||
|
'QTime',
|
||||||
|
'QSlideTransition',
|
||||||
|
'QTable',
|
||||||
|
'QTh',
|
||||||
|
'QTr',
|
||||||
|
'QTd',
|
||||||
|
'QLinearProgress',
|
||||||
|
'QSlider',
|
||||||
|
'QPopupEdit',
|
||||||
|
'QCarousel',
|
||||||
|
'QCarouselControl',
|
||||||
|
'QCarouselSlide',
|
||||||
|
'QPageScroller',
|
||||||
|
'QAvatar',
|
||||||
|
'QImg',
|
||||||
|
'QSplitter',
|
||||||
|
'QRating',
|
||||||
|
'QParallax',
|
||||||
|
'QTab',
|
||||||
|
'QTabs',
|
||||||
|
'QTabPanels',
|
||||||
|
'QTabPanel',
|
||||||
|
'QTree',
|
||||||
|
'QSeparator',
|
||||||
|
],
|
||||||
|
directives: [
|
||||||
|
'Ripple',
|
||||||
|
'ClosePopup',
|
||||||
|
],
|
||||||
|
_plugins: [
|
||||||
|
'Meta',
|
||||||
|
'Dialog',
|
||||||
|
'Notify',
|
||||||
|
'Cookies',
|
||||||
|
'Loading',
|
||||||
|
'AppVisibility',
|
||||||
|
],
|
||||||
|
get plugins_1() {
|
||||||
|
return this._plugins;
|
||||||
|
},
|
||||||
|
set plugins_1(value) {
|
||||||
|
this._plugins = value;
|
||||||
|
},
|
||||||
|
get plugins() {
|
||||||
|
return this._plugins;
|
||||||
|
},
|
||||||
|
set plugins(value) {
|
||||||
|
this._plugins = value;
|
||||||
|
},
|
||||||
|
iconSet: 'fontawesome-v5',
|
||||||
|
lang: 'it', // Quasar language
|
||||||
|
},
|
||||||
|
|
||||||
|
animations: 'all', // --- includes all animations
|
||||||
|
// https://v2.quasar.dev/options/animations
|
||||||
|
// animations: [],
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
|
||||||
|
ssr: {
|
||||||
|
pwa: false,
|
||||||
|
|
||||||
|
// manualStoreHydration: true,
|
||||||
|
// manualPostHydrationTrigger: true,
|
||||||
|
|
||||||
|
prodPort: 3000, // The default port that the production server should use
|
||||||
|
// (gets superseded if process.env.PORT is specified at runtime)
|
||||||
|
|
||||||
|
maxAge: 1000 * 60 * 60 * 24 * 30,
|
||||||
|
// Tell browser when a file from the server should expire from cache (in ms)
|
||||||
|
|
||||||
|
chainWebpackWebserver(/* chain */) {
|
||||||
|
//
|
||||||
|
},
|
||||||
|
|
||||||
|
middlewares: [
|
||||||
|
ctx.prod ? 'compression' : '',
|
||||||
|
'render', // keep this as last one
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
||||||
|
pwa: {
|
||||||
|
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
|
||||||
|
workboxOptions: {}, // only for GenerateSW
|
||||||
|
extendGenerateSWOptions(cfg) {
|
||||||
|
cfg.skipWaiting = false
|
||||||
|
cfg.clientsClaim = false
|
||||||
|
},
|
||||||
|
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
|
||||||
|
// if using workbox in InjectManifest mode
|
||||||
|
chainWebpackCustomSW(chain) {
|
||||||
|
// chain.plugin('eslint-webpack-plugin')
|
||||||
|
// .use(ESLintPlugin, [{ extensions: ['js'] }])
|
||||||
|
},
|
||||||
|
|
||||||
|
manifest: {
|
||||||
|
name: 'Più che Buono',
|
||||||
|
short_name: 'PiuCheBuono',
|
||||||
|
description: 'PiuCheBuono è un GAS e Bottega',
|
||||||
|
display: 'standalone',
|
||||||
|
orientation: 'portrait',
|
||||||
|
background_color: '#fff',
|
||||||
|
theme_color: '#027be3',
|
||||||
|
scope: "/",
|
||||||
|
id: "/?homescreen=1",
|
||||||
|
start_url: "/?homescreen=1",
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
src: 'images/fv-android-icon-512x512.png',
|
||||||
|
sizes: '512x512',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-android-icon-384x384.png',
|
||||||
|
sizes: '384x384',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-android-icon-192x192.png',
|
||||||
|
sizes: '192x192',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-android-icon-144x144.png',
|
||||||
|
sizes: '144x144',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-android-icon-96x96.png',
|
||||||
|
sizes: '96x96',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-apple-icon-120x120.png',
|
||||||
|
sizes: '120x120',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-apple-icon-144x144.png',
|
||||||
|
sizes: '144x144',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-apple-icon-152x152.png',
|
||||||
|
sizes: '152x152',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: 'images/fv-apple-icon-180x180.png',
|
||||||
|
sizes: '180x180',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
related_applications: [{
|
||||||
|
"platform": "webapp",
|
||||||
|
"url": "https://www.riso.app/manifest.json"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
|
||||||
|
cordova: {
|
||||||
|
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
|
||||||
|
capacitor: {
|
||||||
|
hideSplashscreen: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
|
||||||
|
electron: {
|
||||||
|
bundler: 'packager', // 'packager' or 'builder'
|
||||||
|
|
||||||
|
packager: {
|
||||||
|
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
|
||||||
|
|
||||||
|
// OS X / Mac App Store
|
||||||
|
// appBundleId: '',
|
||||||
|
// appCategoryType: '',
|
||||||
|
// osxSign: '',
|
||||||
|
// protocol: 'myapp://path',
|
||||||
|
|
||||||
|
// Windows only
|
||||||
|
// win32metadata: { ... }
|
||||||
|
},
|
||||||
|
|
||||||
|
builder: {
|
||||||
|
// https://www.electron.build/configuration/configuration
|
||||||
|
|
||||||
|
appId: 'PiuCheBuono',
|
||||||
|
},
|
||||||
|
|
||||||
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||||
|
chainWebpack(/* chain */) {
|
||||||
|
// do something with the Electron main process Webpack cfg
|
||||||
|
// extendWebpackMain also available besides this chainWebpackMain
|
||||||
|
},
|
||||||
|
|
||||||
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||||
|
chainWebpackPreload(/* chain */) {
|
||||||
|
// do something with the Electron main process Webpack cfg
|
||||||
|
// extendWebpackPreload also available besides this chainWebpackPreload
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}))
|
||||||
452
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.scss
Executable file
452
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.scss
Executable file
@@ -0,0 +1,452 @@
|
|||||||
|
|
||||||
|
.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;
|
||||||
|
width: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
.maxwidth1200 {
|
||||||
|
max-width: 1200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-h1, h1 {
|
||||||
|
font-size: 3rem;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 3rem;
|
||||||
|
letter-spacing: -.01562em;
|
||||||
|
margin-bottom: 8px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 {
|
||||||
|
background: #3fdaff;
|
||||||
|
padding-left: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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: 7vh
|
||||||
|
}
|
||||||
|
.clgutter {
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.landing__hero .text-h1, h1 {
|
||||||
|
font-size: 2rem;
|
||||||
|
line-height: 2.05rem;
|
||||||
|
margin-bottom: 1.25rem
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing > section.padding_gallery > div {
|
||||||
|
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: 11.25rem;
|
||||||
|
}
|
||||||
|
.landing__hero2-content {
|
||||||
|
padding-bottom: 7.25rem;
|
||||||
|
}
|
||||||
|
.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);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo-grigio {
|
||||||
|
padding: 1rem;
|
||||||
|
color: $textcol;
|
||||||
|
background-color: rgba(0, 0, 0, .35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
78
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.ts
Executable file
78
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.ts
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
||||||
|
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
import { Logo } from '../../components/logo'
|
||||||
|
|
||||||
|
import { LandingFooter } from '../../components/LandingFooter'
|
||||||
|
import { CMyPage } from '../../components/CMyPage/index'
|
||||||
|
|
||||||
|
import { tools } from '@src/store/Modules/tools'
|
||||||
|
import { static_data } from '@src/db/static_data'
|
||||||
|
import { toolsext } from '@src/store/Modules/toolsext'
|
||||||
|
import { Screen } from 'quasar'
|
||||||
|
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
||||||
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
|
import { firstimagehome } from '@src/db/static_data'
|
||||||
|
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'home_arcadei',
|
||||||
|
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const animare = ref(0)
|
||||||
|
const slide = ref('first')
|
||||||
|
const slide2 = ref(1)
|
||||||
|
|
||||||
|
const getImmagini = ref([
|
||||||
|
{
|
||||||
|
title: '', subtitle: '',
|
||||||
|
alt: 'Arcadei',
|
||||||
|
img: 'images/arcadei/img1.png'
|
||||||
|
},
|
||||||
|
])
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
const { setValDb, getValDb } = MixinBase()
|
||||||
|
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
||||||
|
|
||||||
|
function getheightgallery() {
|
||||||
|
if (tools.isMobile())
|
||||||
|
return '400px'
|
||||||
|
else
|
||||||
|
return '600px'
|
||||||
|
}
|
||||||
|
|
||||||
|
function created() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArrDisciplines() {
|
||||||
|
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
||||||
|
}
|
||||||
|
|
||||||
|
created()
|
||||||
|
|
||||||
|
return {
|
||||||
|
tools,
|
||||||
|
toolsext,
|
||||||
|
static_data,
|
||||||
|
animare,
|
||||||
|
slide,
|
||||||
|
slide2,
|
||||||
|
getheightgallery,
|
||||||
|
getArrDisciplines,
|
||||||
|
getImmagini,
|
||||||
|
getValDb,
|
||||||
|
firstimagehome,
|
||||||
|
getsrcbyimg,
|
||||||
|
setmeta,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
221
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.vue
Executable file
221
_ALL_SITES/piuchebuono.app/root_spec/home_arcadei/home_arcadei.vue
Executable file
@@ -0,0 +1,221 @@
|
|||||||
|
<template>
|
||||||
|
<q-page>
|
||||||
|
<CMyPage title="Home">
|
||||||
|
<div class="landing">
|
||||||
|
<section>
|
||||||
|
<div class="landing__hero maxwidth1200 text-white">
|
||||||
|
<q-carousel
|
||||||
|
animated
|
||||||
|
:autoplay="animare"
|
||||||
|
swipeable
|
||||||
|
infinite
|
||||||
|
navigation
|
||||||
|
transition-next="slide-left"
|
||||||
|
transition-prev="slide-right"
|
||||||
|
v-model="slide"
|
||||||
|
:height="getheightgallery()"
|
||||||
|
width="100%"
|
||||||
|
>
|
||||||
|
<q-carousel-slide name="first"
|
||||||
|
:img-src="getsrcbyimg(firstimagehome())">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||||
|
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<i aria-hidden="true"
|
||||||
|
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
<q-carousel-slide name="second"
|
||||||
|
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
<logo></logo>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||||
|
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp')}}
|
||||||
|
</h2>
|
||||||
|
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||||
|
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
||||||
|
</h2>
|
||||||
|
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp3')}}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<i aria-hidden="true"
|
||||||
|
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
<q-carousel-slide name="third"
|
||||||
|
:img-src="getsrcbyimg('images/background3.jpg')">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
<logo></logo>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
||||||
|
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp')}}
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp3')}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
||||||
|
{{$t('msg.sottoTitoloApp4')}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<!--<i aria-hidden="true"-->
|
||||||
|
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
</q-carousel>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="q-pa-md q-gutter-md">
|
||||||
|
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
||||||
|
$t('components.authentication.email_verification.link_sent') }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<CCardCarousel :myarr="getArrDisciplines()">
|
||||||
|
|
||||||
|
</CCardCarousel>
|
||||||
|
|
||||||
|
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
||||||
|
|
||||||
|
</CEventsCalendar>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
||||||
|
<div class="">
|
||||||
|
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
||||||
|
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
||||||
|
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||||
|
|
||||||
|
<!--</q-video>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<div class="">
|
||||||
|
<iframe
|
||||||
|
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
||||||
|
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
||||||
|
:src="getValDb('YT_VIDEO', false)"
|
||||||
|
frameborder="0"
|
||||||
|
allowfullscreen
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||||
|
|
||||||
|
<!--</q-video>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
||||||
|
|
||||||
|
<q-carousel
|
||||||
|
swipeable
|
||||||
|
animated
|
||||||
|
:autoplay="8000"
|
||||||
|
v-model="slide2"
|
||||||
|
arrows
|
||||||
|
thumbnails
|
||||||
|
infinite
|
||||||
|
height="600">
|
||||||
|
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
||||||
|
:img-src="rec.img"
|
||||||
|
:alt="rec.alt"
|
||||||
|
class="carousel_slide">
|
||||||
|
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
||||||
|
<div class="text-h5"><span
|
||||||
|
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
||||||
|
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
||||||
|
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
</q-carousel>
|
||||||
|
</section>
|
||||||
|
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
||||||
|
|
||||||
|
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
||||||
|
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
||||||
|
|
||||||
|
</COpenStreetMap>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="q-ma-md"></div>
|
||||||
|
</div>
|
||||||
|
</CMyPage>
|
||||||
|
</q-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./home_arcadei.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './home_arcadei.scss';
|
||||||
|
</style>
|
||||||
446
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.scss
Executable file
446
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.scss
Executable file
@@ -0,0 +1,446 @@
|
|||||||
|
|
||||||
|
.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;
|
||||||
|
width: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
.maxwidth1200 {
|
||||||
|
max-width: 1200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-h1, h1 {
|
||||||
|
font-size: 3rem;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 3rem;
|
||||||
|
letter-spacing: -.01562em;
|
||||||
|
margin-bottom: 8px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 {
|
||||||
|
background: #3fdaff;
|
||||||
|
padding-left: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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: 7vh
|
||||||
|
}
|
||||||
|
.clgutter {
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.landing__hero .text-h1, h1 {
|
||||||
|
font-size: 2rem;
|
||||||
|
line-height: 2.05rem;
|
||||||
|
margin-bottom: 1.25rem
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.landing > section.padding_gallery > div {
|
||||||
|
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: 11.25rem;
|
||||||
|
}
|
||||||
|
.landing__hero2-content {
|
||||||
|
padding-bottom: 7.25rem;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-caption {
|
||||||
|
text-align: center;
|
||||||
|
padding: .75rem;
|
||||||
|
color: $textcol;
|
||||||
|
background-color: rgba(0, 0, 0, .3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo-grigio {
|
||||||
|
padding: 1rem;
|
||||||
|
color: $textcol;
|
||||||
|
background-color: rgba(0, 0, 0, .35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
78
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.ts
Executable file
78
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.ts
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
||||||
|
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
import { Logo } from '../../components/logo'
|
||||||
|
|
||||||
|
import { LandingFooter } from '../../components/LandingFooter'
|
||||||
|
import { CMyPage } from '../../components/CMyPage/index'
|
||||||
|
|
||||||
|
import { tools } from '@src/store/Modules/tools'
|
||||||
|
import { static_data } from '@src/db/static_data'
|
||||||
|
import { toolsext } from '@src/store/Modules/toolsext'
|
||||||
|
import { Screen } from 'quasar'
|
||||||
|
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
||||||
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
|
import { firstimagehome } from '@src/db/static_data'
|
||||||
|
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'Home_tdv',
|
||||||
|
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const animare = ref(0)
|
||||||
|
const slide = ref('first')
|
||||||
|
const slide2 = ref(1)
|
||||||
|
|
||||||
|
const getImmagini = ref([
|
||||||
|
{
|
||||||
|
title: '', subtitle: '',
|
||||||
|
alt: 'Elisa e Cristina insieme',
|
||||||
|
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
||||||
|
},
|
||||||
|
])
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
const { setValDb, getValDb } = MixinBase()
|
||||||
|
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
||||||
|
|
||||||
|
function getheightgallery() {
|
||||||
|
if (tools.isMobile())
|
||||||
|
return '400px'
|
||||||
|
else
|
||||||
|
return '600px'
|
||||||
|
}
|
||||||
|
|
||||||
|
function created() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArrDisciplines() {
|
||||||
|
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
||||||
|
}
|
||||||
|
|
||||||
|
created()
|
||||||
|
|
||||||
|
return {
|
||||||
|
tools,
|
||||||
|
toolsext,
|
||||||
|
static_data,
|
||||||
|
animare,
|
||||||
|
slide,
|
||||||
|
slide2,
|
||||||
|
getheightgallery,
|
||||||
|
getArrDisciplines,
|
||||||
|
getImmagini,
|
||||||
|
getValDb,
|
||||||
|
firstimagehome,
|
||||||
|
getsrcbyimg,
|
||||||
|
setmeta,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
220
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.vue
Executable file
220
_ALL_SITES/piuchebuono.app/root_spec/home_tdv/home_tdv.vue
Executable file
@@ -0,0 +1,220 @@
|
|||||||
|
<template>
|
||||||
|
<q-page>
|
||||||
|
<CMyPage title="Home">
|
||||||
|
<div class="landing">
|
||||||
|
<section>
|
||||||
|
<div class="landing__hero maxwidth1200 text-white">
|
||||||
|
<q-carousel
|
||||||
|
animated
|
||||||
|
:autoplay="animare"
|
||||||
|
swipeable
|
||||||
|
infinite
|
||||||
|
navigation
|
||||||
|
transition-next="slide-left"
|
||||||
|
transition-prev="slide-right"
|
||||||
|
v-model="slide"
|
||||||
|
:height="getheightgallery()"
|
||||||
|
width="100%"
|
||||||
|
>
|
||||||
|
<q-carousel-slide name="first"
|
||||||
|
:img-src="getsrcbyimg(firstimagehome())">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||||
|
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<i aria-hidden="true"
|
||||||
|
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
<q-carousel-slide name="second"
|
||||||
|
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
<logo></logo>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
||||||
|
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp')}}
|
||||||
|
</h2>
|
||||||
|
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
||||||
|
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
||||||
|
</h2>
|
||||||
|
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp3')}}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<i aria-hidden="true"
|
||||||
|
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
<q-carousel-slide name="third"
|
||||||
|
:img-src="getsrcbyimg('images/background3.jpg')">
|
||||||
|
<div class="landing__header"></div>
|
||||||
|
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||||
|
<div class="row">
|
||||||
|
<logo></logo>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-end">
|
||||||
|
<div class="q-gutter-xs testo-banda clgutter">
|
||||||
|
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
||||||
|
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp')}}
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
||||||
|
</div>
|
||||||
|
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
||||||
|
{{$t('msg.sottoTitoloApp3')}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
||||||
|
{{$t('msg.sottoTitoloApp4')}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="landing__arrow absolute-bottom text-center">
|
||||||
|
<!--<i aria-hidden="true"-->
|
||||||
|
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
</q-carousel>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="q-pa-md q-gutter-md">
|
||||||
|
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
||||||
|
$t('components.authentication.email_verification.link_sent') }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<CCardCarousel :myarr="getArrDisciplines()">
|
||||||
|
|
||||||
|
</CCardCarousel>
|
||||||
|
|
||||||
|
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
||||||
|
|
||||||
|
</CEventsCalendar>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
||||||
|
<div class="">
|
||||||
|
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
||||||
|
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
||||||
|
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||||
|
|
||||||
|
<!--</q-video>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<div class="">
|
||||||
|
<iframe
|
||||||
|
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
||||||
|
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
||||||
|
:src="getValDb('YT_VIDEO', false)"
|
||||||
|
frameborder="0"
|
||||||
|
allowfullscreen
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
||||||
|
|
||||||
|
<!--</q-video>-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
||||||
|
|
||||||
|
<q-carousel
|
||||||
|
swipeable
|
||||||
|
animated
|
||||||
|
:autoplay="8000"
|
||||||
|
v-model="slide2"
|
||||||
|
arrows
|
||||||
|
thumbnails
|
||||||
|
infinite
|
||||||
|
:height="tools.heightgallery()">
|
||||||
|
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
||||||
|
:img-src="rec.img"
|
||||||
|
:alt="rec.alt"
|
||||||
|
class="carousel_slide">
|
||||||
|
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
||||||
|
<div class="text-h5"><span
|
||||||
|
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
||||||
|
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
||||||
|
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
</q-carousel>
|
||||||
|
</section>
|
||||||
|
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
||||||
|
|
||||||
|
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
||||||
|
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
||||||
|
|
||||||
|
</COpenStreetMap>
|
||||||
|
|
||||||
|
<div class="q-ma-md"></div>
|
||||||
|
</div>
|
||||||
|
</CMyPage>
|
||||||
|
</q-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./home_tdv.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './home_tdv.scss';
|
||||||
|
</style>
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
APP_VERSION="1.0.20"
|
APP_VERSION="1.0.21"
|
||||||
SERVICE_WORKER_FILE="service-worker.js"
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
APP_ID="13"
|
APP_ID="16"
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
DIRECTORY_SERVER=test.freeplanet_serverside
|
DIRECTORY_SERVER=test.freeplanet_serverside
|
||||||
SERVERDIR_WEBSITE="test.riso.app"
|
SERVERDIR_WEBSITE="test.piuchebuono.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
APP_URL="https://test.riso.app"
|
APP_URL="https://test.piuchebuono.app"
|
||||||
URL_FACEBOOK=""
|
URL_FACEBOOK=""
|
||||||
PROVA_PAOLO=""
|
PROVA_PAOLO=""
|
||||||
LANG_DEFAULT="it"
|
LANG_DEFAULT="it"
|
||||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||||
MONGODB_HOST="https://test.freeplanet.app:3001"
|
MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||||
LOGO_REG='riso-logo-full.png'
|
LOGO_REG='piuchebuono-logo-full.png'
|
||||||
TEST_NAME=""
|
TEST_NAME=""
|
||||||
TEST_SURNAME=""
|
TEST_SURNAME=""
|
||||||
TEST_EMAIL=""
|
TEST_EMAIL=""
|
||||||
|
|||||||
@@ -1,89 +1,11 @@
|
|||||||
import { IEvents } from '../model';
|
import { IEvents } from '../model';
|
||||||
|
|
||||||
export const db_data = {
|
export const db_data = {
|
||||||
URL_FACEBOOK: 'https://www.facebook.com/associazioneshen',
|
URL_FACEBOOK: '',
|
||||||
|
|
||||||
userdata: {
|
userdata: {
|
||||||
calendar_editable: false,
|
calendar_editable: false,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'Scambi Reiki',
|
|
||||||
details: 'Nelle serate esperienziali è possibile <span class="boldhigh">Dare e Ricevere</span> un trattamento completo.<br />'
|
|
||||||
+ 'Possono partecipare le persone che hanno già preso parte al <span class="boldhigh">seminario di 1° livello</span>, ma anche <span class="boldhigh">tutti quelli che hanno il desiderio di conoscere il Reiki</span> e sperimentarlo per la prima volta: in questo caso invitiamo gli interessati a contattarci per un appuntamento prima dell’inizio della serata per ricevere le informazioni pratiche.',
|
|
||||||
date: '2019-07-11',
|
|
||||||
time: '21:00',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'orange',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: 'files/eventi/Reiki_aMICHI.pdf',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Scambi Reiki',
|
|
||||||
details: 'Nelle serate esperienziali è possibile <span class="boldhigh">Dare e Ricevere</span> un trattamento completo.<br />'
|
|
||||||
+ 'Possono partecipare le persone che hanno già preso parte al <span class="boldhigh">seminario di 1° livello</span>, ma anche <span class="boldhigh">tutti quelli che hanno il desiderio di conoscere il Reiki</span> e sperimentarlo per la prima volta: in questo caso invitiamo gli interessati a contattarci per un appuntamento prima dell’inizio della serata per ricevere le informazioni pratiche.',
|
|
||||||
date: '2019-07-20',
|
|
||||||
time: '21:00',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'orange',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Seminario Reiki 1° Livello',
|
|
||||||
details: 'I seminari vengono organizzati volutamente in gruppi poco numerosi.\n'
|
|
||||||
+ 'Si crea così un ambiente accogliente e tranquillo con un atmosfera conviviale.<br />'
|
|
||||||
+ ''
|
|
||||||
+ 'Per info vedi <a href="reiki/seminari">Seminari Reiki</a>',
|
|
||||||
date: '2019-07-22',
|
|
||||||
days: 2,
|
|
||||||
time: '9:00',
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'red',
|
|
||||||
icon: 'fas fa-chalkboard-teacher',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
teacher2: 'Elisa Ghizzardi',
|
|
||||||
avatar2: 'elisa.png',
|
|
||||||
infoextra: 'sabato e domenica dalle 10.00 alle 18.00',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Presentazione Corsi per Operatori del Massaggio del Benessere',
|
|
||||||
details: 'Vieni alla presentazione dei Corsi!<br>10 settembre a Ravenna, 17 settembre a Lugo',
|
|
||||||
date: '2019-09-10',
|
|
||||||
time: '20:30',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'blue',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/scuolaopbenessere/img1.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Operatori',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
avatar2: 'elisa.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_enUs = {
|
const msg_website_enUs = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
quantity: 'Quantità',
|
quantity: 'Quantità',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_es = {
|
const msg_website_es = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
quantity: 'Quantità',
|
quantity: 'Quantità',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_fr = {
|
const msg_website_fr = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
homepage: {
|
homepage: {
|
||||||
titlecontatti: 'CONTACTS',
|
titlecontatti: 'CONTACTS',
|
||||||
|
|||||||
@@ -5,14 +5,6 @@ const msg_website_it = {
|
|||||||
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.',
|
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',
|
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||||
},
|
},
|
||||||
products: {
|
|
||||||
quantity: 'Quantità',
|
|
||||||
quantityAvailable: 'Disponibili',
|
|
||||||
weight: 'Peso',
|
|
||||||
stars: 'Voto',
|
|
||||||
color: 'Colore',
|
|
||||||
theme: 'Tema',
|
|
||||||
},
|
|
||||||
hours: {
|
hours: {
|
||||||
descr: 'Descrizione',
|
descr: 'Descrizione',
|
||||||
date: 'Data',
|
date: 'Data',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_pt = {
|
const msg_website_pt = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
home: 'Home',
|
home: 'Home',
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ else
|
|||||||
cp -R ./quasar.conf.js _ALL_SITES/$site/
|
cp -R ./quasar.conf.js _ALL_SITES/$site/
|
||||||
cp -R ./package.json _ALL_SITES/$site/
|
cp -R ./package.json _ALL_SITES/$site/
|
||||||
cp -R ./.env.development _ALL_SITES/$site/
|
cp -R ./.env.development _ALL_SITES/$site/
|
||||||
cp -R ./.env.production _ALL_SITES/$site/
|
# cp -R ./.env.production _ALL_SITES/$site/
|
||||||
cp -R ./.env.test _ALL_SITES/$site/
|
cp -R ./.env.test _ALL_SITES/$site/
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
2
now.txt
2
now.txt
@@ -1 +1 @@
|
|||||||
TERMINA DI LAVORARE SU fioredellavita.riso.app: (Sovrascrivo !)
|
TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo !)
|
||||||
|
|||||||
17
package.json
17
package.json
@@ -123,18 +123,17 @@
|
|||||||
"crypto": false
|
"crypto": false
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 80 Chrome versions",
|
"last 100 Chrome versions",
|
||||||
"last 40 Firefox versions",
|
"last 40 Firefox versions",
|
||||||
"last 10 Edge versions",
|
"last 20 Edge versions",
|
||||||
"last 45 Safari versions",
|
"last 55 Safari versions",
|
||||||
"last 80 Android versions",
|
"last 90 Android versions",
|
||||||
"last 120 ChromeAndroid versions",
|
"last 250 ChromeAndroid versions",
|
||||||
"last 30 FirefoxAndroid versions",
|
"last 60 FirefoxAndroid versions",
|
||||||
"last 20 iOS versions",
|
"last 35 iOS versions",
|
||||||
"last 10 Opera versions",
|
"last 10 Opera versions",
|
||||||
"> 0.03%",
|
"> 0.03%",
|
||||||
"not dead",
|
"not dead"
|
||||||
"fully supports es6-module"
|
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.14.0",
|
"node": ">= 16.14.0",
|
||||||
|
|||||||
BIN
public/images/piuchebuono-logo-full.png
Normal file
BIN
public/images/piuchebuono-logo-full.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
@@ -17,6 +17,42 @@ export const shared_consts = {
|
|||||||
},
|
},
|
||||||
LIMIT_NOTIF_FOR_USER: 200,
|
LIMIT_NOTIF_FOR_USER: 200,
|
||||||
|
|
||||||
|
UNITS_OF_MEASURE: {
|
||||||
|
NESSUNO: 0,
|
||||||
|
GRAMMI: 1,
|
||||||
|
CHILI: 2,
|
||||||
|
LITRI: 3,
|
||||||
|
PEZZI: 4,
|
||||||
|
},
|
||||||
|
|
||||||
|
Units_Of_Measure_ListBox: [
|
||||||
|
{
|
||||||
|
label: '[Nessuno]',
|
||||||
|
value: 0,
|
||||||
|
short: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Grammi (g)',
|
||||||
|
value: 1,
|
||||||
|
short: 'g',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Chili (kg)',
|
||||||
|
value: 2,
|
||||||
|
short: 'kg',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Litri (l)',
|
||||||
|
value: 3,
|
||||||
|
short: 'lt',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Pezzi (p)',
|
||||||
|
value: 4,
|
||||||
|
short: 'pz',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
CallFunz: {
|
CallFunz: {
|
||||||
SOSTITUISCI: 345,
|
SOSTITUISCI: 345,
|
||||||
AGGIUNGI_NUOVO_IMBARCO: 380,
|
AGGIUNGI_NUOVO_IMBARCO: 380,
|
||||||
@@ -75,7 +111,8 @@ export const shared_consts = {
|
|||||||
BTN_LOGIN: 260,
|
BTN_LOGIN: 260,
|
||||||
FOOTER: 270,
|
FOOTER: 270,
|
||||||
PROFILETUTORIAL: 280,
|
PROFILETUTORIAL: 280,
|
||||||
VISUVIDEOPROMOANDPDF: 290
|
VISUVIDEOPROMOANDPDF: 290,
|
||||||
|
ECOMMERCE: 300,
|
||||||
},
|
},
|
||||||
|
|
||||||
QUERYTYPE_MYGROUP: 1,
|
QUERYTYPE_MYGROUP: 1,
|
||||||
@@ -1061,7 +1098,8 @@ export const shared_consts = {
|
|||||||
|
|
||||||
TypeMsgTemplate: {
|
TypeMsgTemplate: {
|
||||||
MSG_BENVENUTO: 2010,
|
MSG_BENVENUTO: 2010,
|
||||||
MS_SHARE_LINK: 2000
|
MS_SHARE_LINK: 2000,
|
||||||
|
MSG_BENV_REGISTRATO: 2020,
|
||||||
},
|
},
|
||||||
|
|
||||||
TypeSend: {
|
TypeSend: {
|
||||||
@@ -1525,6 +1563,10 @@ export const shared_consts = {
|
|||||||
value: 70,
|
value: 70,
|
||||||
label: 'Calendario',
|
label: 'Calendario',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 300,
|
||||||
|
label: 'E-COMMERCE',
|
||||||
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -1822,6 +1864,7 @@ export const shared_consts = {
|
|||||||
comune: 1,
|
comune: 1,
|
||||||
mycities: 1,
|
mycities: 1,
|
||||||
lang: 1,
|
lang: 1,
|
||||||
|
verified_by_aportador: 1,
|
||||||
'profile.img': 1,
|
'profile.img': 1,
|
||||||
'profile.mygroups': 1,
|
'profile.mygroups': 1,
|
||||||
'profile.mycircuits': 1,
|
'profile.mycircuits': 1,
|
||||||
|
|||||||
@@ -34,6 +34,11 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
flat: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
numcol: {
|
numcol: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false,
|
required: false,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="q-ma-xs">
|
<div class="q-ma-xs">
|
||||||
<div
|
<div
|
||||||
class="row q-my-sm shadow"
|
class="row q-my-xs shadow"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
||||||
>
|
>
|
||||||
<!--<div class="col-md-3 col-lg-3 col-sm-12 col-xs-12 box_4" style="border-left: 1px solid #efefef;"
|
<!--<div class="col-md-3 col-lg-3 col-sm-12 col-xs-12 box_4" style="border-left: 1px solid #efefef;"
|
||||||
@@ -85,13 +85,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row" style="margin-top: 4px important; font-size: 0.75rem">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="row q-my-md shadow"
|
class="row shadow"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="(rec, index) of visulinks"
|
v-for="(rec, index) of visulinks"
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
|
import { ProductsList } from '@src/views/ecommerce'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CECommerce',
|
name: 'CECommerce',
|
||||||
|
components: { ProductsList },
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="tools.isUserOk()">
|
<div v-if="tools.isUserOk()">
|
||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
v-if="cardsbig.length > 0"
|
||||||
class="row q-ma-sm shadow justify-center"
|
class="row q-ma-sm shadow justify-center"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
||||||
>
|
>
|
||||||
@@ -22,6 +21,7 @@
|
|||||||
</CBigBtn>
|
</CBigBtn>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
v-if="cardssmall.length > 0"
|
||||||
class="row shadow justify-center"
|
class="row shadow justify-center"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -498,6 +498,7 @@ export default defineComponent({
|
|||||||
name: 1,
|
name: 1,
|
||||||
surname: 1,
|
surname: 1,
|
||||||
username: 1,
|
username: 1,
|
||||||
|
verified_by_aportador: 1,
|
||||||
'profile.handshake': 1,
|
'profile.handshake': 1,
|
||||||
'profile.img': 1,
|
'profile.img': 1,
|
||||||
'profile.mygroups': 1,
|
'profile.mygroups': 1,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { ref, onMounted, onBeforeMount, PropType, reactive, watch } from 'vue'
|
||||||
import { CCardState } from '../CCardState'
|
import { CCardState } from '../CCardState'
|
||||||
|
|
||||||
import { computed, defineComponent } from 'vue'
|
import { computed, defineComponent } from 'vue'
|
||||||
@@ -50,6 +51,12 @@ export default defineComponent({
|
|||||||
globalStore.rightCartOpen = false
|
globalStore.rightCartOpen = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
products.loadOrders()
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
myCart,
|
myCart,
|
||||||
myTotalPrice,
|
myTotalPrice,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
MyCart:<br>
|
|
||||||
<div id="mycontainer">
|
<div id="mycontainer">
|
||||||
<div class="myheader row justify-between">
|
<div class="myheader row justify-between">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<q-btn class="q-mx-xs" round dense flat icon="fas fa-shopping-cart">
|
<q-btn class="q-mx-xs" round dense flat icon="fas fa-shopping-cart">
|
||||||
|
|
||||||
<q-badge v-if="getnumItemsCart() > 0" color="red" floating transparent>
|
<q-badge v-if="getnumItemsCart() > 0" color="red" floating transparent>
|
||||||
{{ getnumItemsCart() }}
|
{{ getnumItemsCart() }}
|
||||||
</q-badge>
|
</q-badge>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { tools } from '@store/Modules/tools'
|
|||||||
import { shared_consts } from '@/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { LandingFooter } from '@/components/LandingFooter'
|
import { LandingFooter } from '@/components/LandingFooter'
|
||||||
import { CMyActivities } from '@/components/CMyActivities'
|
import { CMyActivities } from '@/components/CMyActivities'
|
||||||
|
import { CECommerce } from '@/components/CECommerce'
|
||||||
import { COpenStreetMap } from '@src/components/COpenStreetMap'
|
import { COpenStreetMap } from '@src/components/COpenStreetMap'
|
||||||
import { CCardCarousel } from '@src/components/CCardCarousel'
|
import { CCardCarousel } from '@src/components/CCardCarousel'
|
||||||
import { CMyPage } from '@src/components/CMyPage'
|
import { CMyPage } from '@src/components/CMyPage'
|
||||||
@@ -53,7 +54,7 @@ export default defineComponent({
|
|||||||
CPresentazione, CMyActivities,
|
CPresentazione, CMyActivities,
|
||||||
CMyProfileTutorial, CSendRISTo,
|
CMyProfileTutorial, CSendRISTo,
|
||||||
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
||||||
CVisuVideoPromoAndPDF,
|
CVisuVideoPromoAndPDF, CECommerce,
|
||||||
},
|
},
|
||||||
emits: ['selElemClick'],
|
emits: ['selElemClick'],
|
||||||
props: {
|
props: {
|
||||||
|
|||||||
@@ -372,13 +372,7 @@
|
|||||||
>
|
>
|
||||||
<div class="landing__header"></div>
|
<div class="landing__header"></div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="landing__hero-content row justify-center q-gutter-xs clgutter"
|
||||||
landing__hero-content
|
|
||||||
row
|
|
||||||
justify-center
|
|
||||||
q-gutter-xs
|
|
||||||
clgutter
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="row"> </div>
|
<div class="row"> </div>
|
||||||
<div class="flex justify-end">
|
<div class="flex justify-end">
|
||||||
@@ -390,13 +384,7 @@
|
|||||||
{{ myel.container }}
|
{{ myel.container }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="text-subtitle1 shadow-max big text-italic q-pl-sm"
|
||||||
text-subtitle1
|
|
||||||
shadow-max
|
|
||||||
big
|
|
||||||
text-italic
|
|
||||||
q-pl-sm
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
{{ myel.container2 }}
|
{{ myel.container2 }}
|
||||||
</div>
|
</div>
|
||||||
@@ -488,9 +476,13 @@
|
|||||||
<div v-if="editOn" class="elemEdit">CCheckIfIsLogged</div>
|
<div v-if="editOn" class="elemEdit">CCheckIfIsLogged</div>
|
||||||
<CCheckIfIsLogged :showalways="myel.container"></CCheckIfIsLogged>
|
<CCheckIfIsLogged :showalways="myel.container"></CCheckIfIsLogged>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.VISUVIDEOPROMOANDPDF">
|
<div
|
||||||
|
v-else-if="myel.type === shared_consts.ELEMTYPE.VISUVIDEOPROMOANDPDF"
|
||||||
|
>
|
||||||
<div v-if="editOn" class="elemEdit">Visu Video Promo and PDF</div>
|
<div v-if="editOn" class="elemEdit">Visu Video Promo and PDF</div>
|
||||||
<CVisuVideoPromoAndPDF :showalways="myel.container"></CVisuVideoPromoAndPDF>
|
<CVisuVideoPromoAndPDF
|
||||||
|
:showalways="myel.container"
|
||||||
|
></CVisuVideoPromoAndPDF>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.INFO_VERSION">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.INFO_VERSION">
|
||||||
<div>Versione: {{ tools.getvers() }}</div>
|
<div>Versione: {{ tools.getvers() }}</div>
|
||||||
@@ -537,6 +529,10 @@
|
|||||||
<div v-if="editOn" class="elemEdit">Pagina Attività</div>
|
<div v-if="editOn" class="elemEdit">Pagina Attività</div>
|
||||||
<CMyActivities></CMyActivities>
|
<CMyActivities></CMyActivities>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.ECOMMERCE">
|
||||||
|
<div v-if="editOn" class="elemEdit">PRODOTTI ECOMMERCE:</div>
|
||||||
|
<CECommerce> </CECommerce>
|
||||||
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.NOTIFATTOP">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.NOTIFATTOP">
|
||||||
<div v-if="editOn" class="elemEdit">Notifiche in Cima</div>
|
<div v-if="editOn" class="elemEdit">Notifiche in Cima</div>
|
||||||
<CNotifAtTop></CNotifAtTop>
|
<CNotifAtTop></CNotifAtTop>
|
||||||
@@ -582,7 +578,6 @@
|
|||||||
<span class="mybanner"
|
<span class="mybanner"
|
||||||
>Chiudere e Riaprire la App, per completare l'Aggiornamento</span
|
>Chiudere e Riaprire la App, per completare l'Aggiornamento</span
|
||||||
>
|
>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<span class="mybanner"
|
<span class="mybanner"
|
||||||
@@ -590,7 +585,6 @@
|
|||||||
scomparire questo messaggio, chiudere e riaprire la pagina.</span
|
scomparire questo messaggio, chiudere e riaprire la pagina.</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</q-banner>
|
</q-banner>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BTN_REG">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BTN_REG">
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
<div v-if="mypathin && !!rec">
|
<div v-if="mypathin && !!rec">
|
||||||
<q-toggle
|
<q-toggle
|
||||||
v-if="tools.isManager()"
|
v-if="tools.isManager()"
|
||||||
style=" position:absolute;"
|
|
||||||
v-model="editOn"
|
v-model="editOn"
|
||||||
|
dense
|
||||||
color="green"
|
color="green"
|
||||||
size="sm"
|
size="sm"
|
||||||
@update:model-value="changeVisuDrawer(mypathin, editOn)"
|
@update:model-value="changeVisuDrawer(mypathin, editOn)"
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
</CMyEditElem>
|
</CMyEditElem>
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
|
|
||||||
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
<div class="q-gutter-xs" style="margin-left: 1px; margin-right: 1px;">
|
||||||
<div v-if="!!rec.img1" class="text-center">
|
<div v-if="!!rec.img1" class="text-center">
|
||||||
<q-img :src="`` + rec.img1" class="img"></q-img>
|
<q-img :src="`` + rec.img1" class="img"></q-img>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -148,6 +148,13 @@
|
|||||||
color="green"
|
color="green"
|
||||||
>online</q-badge
|
>online</q-badge
|
||||||
>
|
>
|
||||||
|
<q-badge
|
||||||
|
v-if="!tools.isVerifiedByUser(row)"
|
||||||
|
align="bottom"
|
||||||
|
floating
|
||||||
|
color="red"
|
||||||
|
>Da Abilitare</q-badge
|
||||||
|
>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section class="">
|
<q-item-section class="">
|
||||||
@@ -208,7 +215,6 @@
|
|||||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||||
:disable="disable"
|
:disable="disable"
|
||||||
:readonly="disable"
|
:readonly="disable"
|
||||||
:hint="hint"
|
|
||||||
:type="
|
:type="
|
||||||
col.fieldtype === costanti.FieldType.crypted
|
col.fieldtype === costanti.FieldType.crypted
|
||||||
? `password`
|
? `password`
|
||||||
@@ -1221,6 +1227,40 @@
|
|||||||
</CMySelect>
|
</CMySelect>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
|
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
|
||||||
|
<CMySelect
|
||||||
|
:type_out="col.field_outtype"
|
||||||
|
:col="col"
|
||||||
|
:row="row"
|
||||||
|
:multiple="true"
|
||||||
|
:withToggle="true"
|
||||||
|
:label="col.label ? col.label : $t(col.label_trans)"
|
||||||
|
:filter_table="col.filter_table"
|
||||||
|
:filter_field="col.filter_field"
|
||||||
|
:value_extra="value_extra"
|
||||||
|
v-model:arrvalue="scope.value"
|
||||||
|
@update:arrvalue="changevalRec"
|
||||||
|
:addall="false"
|
||||||
|
:addnone="false"
|
||||||
|
label-color="primary"
|
||||||
|
class="combowidth"
|
||||||
|
color="primary"
|
||||||
|
:optval="fieldsTable.getKeyByTable(col.jointable)"
|
||||||
|
:optlab="fieldsTable.getLabelByTable(col.jointable)"
|
||||||
|
:options="
|
||||||
|
globalStore.getTableJoinByName(
|
||||||
|
col.jointable,
|
||||||
|
col.addall,
|
||||||
|
col.addnone,
|
||||||
|
col.filter
|
||||||
|
)
|
||||||
|
"
|
||||||
|
:sola_lettura="!isInModif"
|
||||||
|
:useinput="col.allowNewValue"
|
||||||
|
:newvaluefunc="addNewValue"
|
||||||
|
>
|
||||||
|
</CMySelect>
|
||||||
|
|
||||||
|
<!--
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
v-model="scope.value"
|
v-model="scope.value"
|
||||||
@@ -1263,7 +1303,7 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</template>
|
</template>
|
||||||
</q-select>
|
</q-select>-->
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === costanti.FieldType.nationality">
|
<div v-else-if="col.fieldtype === costanti.FieldType.nationality">
|
||||||
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
|
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import { CMyFieldDb } from '@/components/CMyFieldDb'
|
|||||||
import { CMyCircuit } from '@/components/CMyCircuit'
|
import { CMyCircuit } from '@/components/CMyCircuit'
|
||||||
import { CMySelect } from '@/components/CMySelect'
|
import { CMySelect } from '@/components/CMySelect'
|
||||||
import { CMyUserOnlyView } from '@/components/CMyUserOnlyView'
|
import { CMyUserOnlyView } from '@/components/CMyUserOnlyView'
|
||||||
|
import { CMyUser } from '@/components/CMyUser'
|
||||||
import { CUserInfoAccount } from '@/components/CUserInfoAccount'
|
import { CUserInfoAccount } from '@/components/CUserInfoAccount'
|
||||||
import { useI18n } from '@/boot/i18n'
|
import { useI18n } from '@/boot/i18n'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
@@ -31,7 +32,8 @@ export default defineComponent({
|
|||||||
name: 'CMyProfileTutorial',
|
name: 'CMyProfileTutorial',
|
||||||
components: {
|
components: {
|
||||||
CSendCoins, CSaldo, CUserInfoAccount,
|
CSendCoins, CSaldo, CUserInfoAccount,
|
||||||
CMySelectCity, CMyFieldRec, CSkill, CMyUserOnlyView, CTitleBanner, CMySelect, CMyFieldDb, CMyCircuit
|
CMySelectCity, CMyFieldRec, CMyUser,
|
||||||
|
CSkill, CMyUserOnlyView, CTitleBanner, CMySelect, CMyFieldDb, CMyCircuit
|
||||||
},
|
},
|
||||||
emits: ['setCmd'],
|
emits: ['setCmd'],
|
||||||
props: {
|
props: {
|
||||||
@@ -72,6 +74,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
const filtroutente = ref(<any[]>[])
|
const filtroutente = ref(<any[]>[])
|
||||||
|
|
||||||
|
const usersList = ref({ show: false, title: '', list: [] })
|
||||||
|
|
||||||
const stepTut = computed(() => userStore.my.profile.stepTutorial)
|
const stepTut = computed(() => userStore.my.profile.stepTutorial)
|
||||||
const noNameSurname = computed(() => userStore.my.profile.noNameSurname)
|
const noNameSurname = computed(() => userStore.my.profile.noNameSurname)
|
||||||
|
|
||||||
@@ -79,6 +83,10 @@ export default defineComponent({
|
|||||||
return costanti.MAINCARDS.filter((rec: any) => shared_consts.TABLES_INSERT_ALMOST_ONE_TO_ENABLE_CIRCUIT.includes(rec.table))
|
return costanti.MAINCARDS.filter((rec: any) => shared_consts.TABLES_INSERT_ALMOST_ONE_TO_ENABLE_CIRCUIT.includes(rec.table))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const userstoverify = computed(() => {
|
||||||
|
return userStore.my.profile.userstoverify
|
||||||
|
})
|
||||||
|
|
||||||
const strProv = computed(() => {
|
const strProv = computed(() => {
|
||||||
|
|
||||||
if (contact.value && contact.value.profile.resid_province) {
|
if (contact.value && contact.value.profile.resid_province) {
|
||||||
@@ -542,6 +550,8 @@ export default defineComponent({
|
|||||||
card,
|
card,
|
||||||
askToConfirmSkipItalia,
|
askToConfirmSkipItalia,
|
||||||
circuititalia,
|
circuititalia,
|
||||||
|
usersList,
|
||||||
|
userstoverify,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -206,9 +206,12 @@
|
|||||||
<q-btn
|
<q-btn
|
||||||
:flat="isSalta(recstep.step)"
|
:flat="isSalta(recstep.step)"
|
||||||
:disabled="isNextDisable()"
|
:disabled="isNextDisable()"
|
||||||
@click="(isSalta(recstep.step))
|
@click="
|
||||||
? askToConfirmSkip(recstep.step) :
|
isSalta(recstep.step)
|
||||||
((recstep.indstep === numindstep) ? clickFinish() : $refs.stepper.next())
|
? askToConfirmSkip(recstep.step)
|
||||||
|
: recstep.indstep === numindstep
|
||||||
|
? clickFinish()
|
||||||
|
: $refs.stepper.next()
|
||||||
"
|
"
|
||||||
:color="isSalta(recstep.step) ? 'negative' : 'primary'"
|
:color="isSalta(recstep.step) ? 'negative' : 'primary'"
|
||||||
:label="
|
:label="
|
||||||
@@ -239,6 +242,27 @@
|
|||||||
>
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
|
<q-banner
|
||||||
|
inline-actions
|
||||||
|
class="bg-blue text-white"
|
||||||
|
v-if="userstoverify.length > 0"
|
||||||
|
>
|
||||||
|
<span v-html="$t('tutorial.utenti_da_verificare')"></span>
|
||||||
|
<template v-slot:action>
|
||||||
|
<q-btn
|
||||||
|
:label="userstoverify.length + ' ' + $t('tutorial.utenti_da_verif_btn')"
|
||||||
|
class="q-my-sm"
|
||||||
|
rounded
|
||||||
|
icon="fas fa-users"
|
||||||
|
@click="
|
||||||
|
usersList.show = true;
|
||||||
|
usersList.title = $t('tutorial.utenti_da_verif_btn');
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</template>
|
||||||
|
</q-banner>
|
||||||
|
|
||||||
<q-banner
|
<q-banner
|
||||||
inline-actions
|
inline-actions
|
||||||
class="bg-red text-white"
|
class="bg-red text-white"
|
||||||
@@ -258,6 +282,29 @@
|
|||||||
</q-banner>
|
</q-banner>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<q-dialog v-model="usersList.show">
|
||||||
|
<q-card class="dialog_card">
|
||||||
|
<q-toolbar class="bg-primary text-white">
|
||||||
|
<q-toolbar-title>
|
||||||
|
{{ usersList.title }}
|
||||||
|
</q-toolbar-title>
|
||||||
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
|
</q-toolbar>
|
||||||
|
|
||||||
|
<q-card-section class="inset-shadow">
|
||||||
|
<q-list>
|
||||||
|
<span v-for="(rec, index) in userstoverify" :key="index" class="q-my-sm rounded-borders" clickable>
|
||||||
|
<CMyUser
|
||||||
|
:mycontact="rec"
|
||||||
|
:visu="costanti.ASK_TRUST"
|
||||||
|
@setCmd="tools.setCmd"
|
||||||
|
>
|
||||||
|
</CMyUser>
|
||||||
|
</span>
|
||||||
|
</q-list>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
<q-dialog v-model="showAccountInfo" full-height full-width>
|
<q-dialog v-model="showAccountInfo" full-height full-width>
|
||||||
<q-card v-if="true">
|
<q-card v-if="true">
|
||||||
<q-toolbar class="bg-primary">
|
<q-toolbar class="bg-primary">
|
||||||
|
|||||||
@@ -779,12 +779,14 @@
|
|||||||
v-if="contact.username !== userStore.my.username"
|
v-if="contact.username !== userStore.my.username"
|
||||||
rounded
|
rounded
|
||||||
dense
|
dense
|
||||||
:icon="
|
icon="fas fa-ellipsis-h"
|
||||||
|
:color="!contact.verified_by_aportador ? 'red' : 'white'"
|
||||||
|
>
|
||||||
|
<!-- </q-btn></q-btn>:icon="
|
||||||
userStore.IsMyFriendByUsername(contact.username)
|
userStore.IsMyFriendByUsername(contact.username)
|
||||||
? `fas fa-ellipsis-h`
|
? `fas fa-ellipsis-h`
|
||||||
: `fas fa-user`
|
: `fas fa-user`
|
||||||
"
|
"-->
|
||||||
>
|
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list style="min-width: 200px">
|
<q-list style="min-width: 200px">
|
||||||
<q-item
|
<q-item
|
||||||
|
|||||||
@@ -511,11 +511,7 @@
|
|||||||
<q-btn
|
<q-btn
|
||||||
v-if="contact.username !== userStore.my.username"
|
v-if="contact.username !== userStore.my.username"
|
||||||
rounded
|
rounded
|
||||||
:icon="
|
icon="fas fa-ellipsis-h"
|
||||||
userStore.IsMyFriendByUsername(contact.username)
|
|
||||||
? `fas fa-ellipsis-h`
|
|
||||||
: `fas fa-user`
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list style="min-width: 200px">
|
<q-list style="min-width: 200px">
|
||||||
|
|||||||
@@ -31,13 +31,23 @@ export default defineComponent({
|
|||||||
const circuitStore = useCircuitStore()
|
const circuitStore = useCircuitStore()
|
||||||
const $router = useRouter()
|
const $router = useRouter()
|
||||||
|
|
||||||
|
const shownotif = ref(false)
|
||||||
|
|
||||||
const { getImgByNotif, getNotifText, getTypeDirNotif, getTypeIdNotif } = MixinUsers()
|
const { getImgByNotif, getNotifText, getTypeDirNotif, getTypeIdNotif } = MixinUsers()
|
||||||
|
|
||||||
const lasts_notifs_req = computed(() => notifStore.getnotifs_coinsreq())
|
const lasts_notifs_req = computed(() => notifStore.getnotifs_coinsreq())
|
||||||
const num_notifs = computed(() => lasts_notifs_req.value.length)
|
const num_notifs = computed(() => lasts_notifs_req.value.length)
|
||||||
|
|
||||||
|
watch(() => num_notifs.value, (newval, oldval) => {
|
||||||
|
if (num_notifs.value === 1)
|
||||||
|
shownotif.value = true
|
||||||
|
else if (num_notifs.value === 0)
|
||||||
|
shownotif.value = false
|
||||||
|
})
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
//
|
//
|
||||||
|
shownotif.value = num_notifs.value === 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function clickNotif(notif: INotif) {
|
function clickNotif(notif: INotif) {
|
||||||
@@ -70,6 +80,7 @@ export default defineComponent({
|
|||||||
num_notifs,
|
num_notifs,
|
||||||
clickNotif,
|
clickNotif,
|
||||||
userStore,
|
userStore,
|
||||||
|
shownotif,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,16 +1,32 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div class="q-ma-sm text-center">
|
||||||
|
<q-btn
|
||||||
|
v-if="num_notifs > 0"
|
||||||
|
:label="t('circuit.ris_in_arrivo') + (num_notifs > 1 ? (' (' + num_notifs + ' ' + t('circuit.transaz') + ')') : '')"
|
||||||
|
@click="shownotif = true"
|
||||||
|
icon="fas fa-coins"
|
||||||
|
rounded
|
||||||
|
color="primary"
|
||||||
|
></q-btn>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-dialog v-model="shownotif" :maximized="$q.screen.lt.sm">
|
||||||
|
<q-card class="dialog_card">
|
||||||
|
<q-bar class="bg-primary text-white">
|
||||||
|
{{ $t('circuit.receive_coins') }}
|
||||||
|
<q-space />
|
||||||
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
|
</q-bar>
|
||||||
|
<q-card-section class="q-px-xs inset-shadow">
|
||||||
<q-banner
|
<q-banner
|
||||||
v-if="num_notifs > 0"
|
v-if="num_notifs > 0"
|
||||||
rounded
|
rounded
|
||||||
dense
|
dense
|
||||||
class="bg-primary text-white"
|
class="bg-light-blue text-black"
|
||||||
color="primary q-title"
|
color="primary q-title"
|
||||||
style="text-align: center;">
|
style="text-align: center"
|
||||||
<template v-slot:avatar>
|
>
|
||||||
<q-icon name="fas fa-exclamation-triangle" color="yellow" size="xs"/>
|
|
||||||
</template>
|
|
||||||
<q-item v-for="(notif, index) in lasts_notifs_req" :key="index">
|
<q-item v-for="(notif, index) in lasts_notifs_req" :key="index">
|
||||||
|
|
||||||
<!--<q-item-section avatar>
|
<!--<q-item-section avatar>
|
||||||
<q-avatar>
|
<q-avatar>
|
||||||
<q-item-label lines="1">{{ getTypeDirNotif(notif) }}</q-item-label>
|
<q-item-label lines="1">{{ getTypeDirNotif(notif) }}</q-item-label>
|
||||||
@@ -19,37 +35,68 @@
|
|||||||
|
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-avatar>
|
<q-avatar>
|
||||||
<img :src="notif.myimgsender" :alt="notif.sender">
|
<img :src="notif.myimgsender" :alt="notif.sender" />
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
|
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label lines="5" :class="(!notif.read) ? 'unread' : 'read'" @click="clickNotif(notif)">
|
<q-item-label
|
||||||
|
lines="5"
|
||||||
|
:class="!notif.read ? 'unread' : 'read'"
|
||||||
|
@click="clickNotif(notif)"
|
||||||
|
>
|
||||||
<div v-html="getNotifText($t, notif, false)"></div>
|
<div v-html="getNotifText($t, notif, false)"></div>
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
<q-item-label caption lines="18"
|
<q-item-label
|
||||||
v-if="notif.typedir === shared_consts.TypeNotifs.TYPEDIR_CIRCUITS && notif.status === shared_consts.CircuitsNotif.STATUS_NONE && notif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ"
|
caption
|
||||||
|
lines="18"
|
||||||
|
v-if="
|
||||||
|
notif.typedir === shared_consts.TypeNotifs.TYPEDIR_CIRCUITS &&
|
||||||
|
notif.status === shared_consts.CircuitsNotif.STATUS_NONE &&
|
||||||
|
notif.typeid ===
|
||||||
|
shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div class="row no-wrap justify-evenly q-pa-sm">
|
<div class="row no-wrap justify-evenly q-pa-sm">
|
||||||
<q-btn
|
<q-btn
|
||||||
size="md"
|
size="md"
|
||||||
icon="fas fa-coins"
|
icon="fas fa-coins"
|
||||||
:disable="notif.disablecoinclick"
|
:disable="notif.disablecoinclick"
|
||||||
color="positive" :label="$t('circuit.accept_coins_qty', {qty: notif.extrarec.qty, symbol: notif.extrarec.symbol})"
|
color="positive"
|
||||||
@click="notif.disablecoinclick = true; tools.acceptCoins(q, notif.sender, notif)"
|
:label="
|
||||||
|
$t('circuit.accept_coins_qty', {
|
||||||
|
qty: notif.extrarec.qty,
|
||||||
|
symbol: notif.extrarec.symbol,
|
||||||
|
})
|
||||||
|
"
|
||||||
|
@click="
|
||||||
|
notif.disablecoinclick = true;
|
||||||
|
tools.acceptCoins(q, notif.sender, notif);
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
size="md"
|
size="md"
|
||||||
:disable="notif.disablecoinclick"
|
:disable="notif.disablecoinclick"
|
||||||
color="negative" :label="$t('circuit.refuse_coins_qty', {qty: notif.extrarec.qty, symbol: notif.extrarec.symbol})"
|
color="negative"
|
||||||
@click="notif.disablecoinclick = true; tools.refuseCoins(q, notif.sender, notif)"
|
:label="
|
||||||
|
$t('circuit.refuse_coins_qty', {
|
||||||
|
qty: notif.extrarec.qty,
|
||||||
|
symbol: notif.extrarec.symbol,
|
||||||
|
})
|
||||||
|
"
|
||||||
|
@click="
|
||||||
|
notif.disablecoinclick = true;
|
||||||
|
tools.refuseCoins(q, notif.sender, notif);
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CNotifAtTop.ts">
|
<script lang="ts" src="./CNotifAtTop.ts">
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
|
|
||||||
import { CTitleBanner } from '@components'
|
import { CTitleBanner } from '../CTitleBanner'
|
||||||
import { CCardState } from '../CCardState'
|
import { CCardState } from '../CCardState'
|
||||||
import { CCopyBtn } from '../CCopyBtn'
|
import { CCopyBtn } from '../CCopyBtn'
|
||||||
|
|
||||||
@@ -55,6 +55,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
const myproduct = ref(<IProduct> {})
|
const myproduct = ref(<IProduct> {})
|
||||||
|
|
||||||
|
const storeSelected = ref('')
|
||||||
|
|
||||||
function iconWhishlist(order: IProduct) {
|
function iconWhishlist(order: IProduct) {
|
||||||
if (true) {
|
if (true) {
|
||||||
return 'far fa-heart'
|
return 'far fa-heart'
|
||||||
@@ -64,39 +66,35 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function decqty() {
|
function decqty() {
|
||||||
if (myorder.value.quantity) {
|
|
||||||
if (myorder.value.quantity > 0)
|
if (myorder.value.quantity > 0)
|
||||||
myorder.value.quantity--
|
myorder.value.quantity--
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function addqty() {
|
function addqty() {
|
||||||
if (myorder.value.quantity) {
|
|
||||||
if (myorder.value.quantity < 10)
|
if (myorder.value.quantity < 10)
|
||||||
myorder.value.quantity++
|
myorder.value.quantity++
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function addtoCart() {
|
function addtoCart() {
|
||||||
|
|
||||||
if (!userStore.isLogged) {
|
if (!userStore.isLogged) {
|
||||||
tools.showNeutralNotif($q, 'Devi prima accedere alla tua Area Personale')
|
tools.showNeutralNotif($q, t('ecomm.area_personale'))
|
||||||
globalStore.rightDrawerOpen = true
|
globalStore.rightDrawerOpen = true
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controlla se esiste già nel carrello il prodotto
|
// Controlla se esiste già nel carrello il prodotto
|
||||||
if (products.existProductInCart(myproduct.value._id)) {
|
if (products.existProductInCart(myproduct.value._id)) {
|
||||||
tools.showNegativeNotif($q, 'Questo prodotto è stato già aggiunto al Carrello')
|
tools.showNegativeNotif($q, t('ecomm.already_in_cart'))
|
||||||
} else {
|
} else {
|
||||||
products.addToCart({ product: myproduct.value, order: props.order }).then((ris) => {
|
products.addToCart({ product: myproduct.value, order: props.order }).then((ris) => {
|
||||||
let strprod = 'prodotto'
|
let strprod = t('ecomm.prodotto')
|
||||||
if (myorder.value.quantity! > 1)
|
if (myorder.value.quantity > 1)
|
||||||
strprod = 'prodotti'
|
strprod = t('ecomm.prodotti')
|
||||||
if (ris)
|
if (ris)
|
||||||
tools.showPositiveNotif($q, 'Hai Aggiunto ' + myorder.value.quantity + ' ' + strprod + ' al Carrello')
|
tools.showPositiveNotif($q, t('ecomm.haveadded') + ' ' + myorder.value.quantity + ' ' + strprod + ' ' + t('ecomm.tocart'))
|
||||||
else
|
else
|
||||||
tools.showNegativeNotif($q, 'Errore durante l\'inserimento del prodotto sul carrello, riprovare.')
|
tools.showNegativeNotif($q, t('ecomm.error_cart'))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,7 +108,10 @@ export default defineComponent({
|
|||||||
|
|
||||||
function getSingleStorehouse() {
|
function getSingleStorehouse() {
|
||||||
const mystore = myproduct.value.storehouses[0]
|
const mystore = myproduct.value.storehouses[0]
|
||||||
|
if (mystore)
|
||||||
return mystore.name + ' (' + mystore.city + ')'
|
return mystore.name + ' (' + mystore.city + ')'
|
||||||
|
else
|
||||||
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
function getStorehouses() {
|
function getStorehouses() {
|
||||||
@@ -141,6 +142,10 @@ export default defineComponent({
|
|||||||
load()
|
load()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(() => storeSelected.value, (newval, oldval) => {
|
||||||
|
myorder.value.idStorehouse = newval
|
||||||
|
})
|
||||||
|
|
||||||
async function load() {
|
async function load() {
|
||||||
// console.log('created Cproductcard', code)
|
// console.log('created Cproductcard', code)
|
||||||
if (props.code) {
|
if (props.code) {
|
||||||
@@ -182,6 +187,9 @@ export default defineComponent({
|
|||||||
checkifCartDisable,
|
checkifCartDisable,
|
||||||
myproduct,
|
myproduct,
|
||||||
myorder,
|
myorder,
|
||||||
|
tools,
|
||||||
|
t,
|
||||||
|
storeSelected,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-card :class="getmycardcl()" v-if="!!myproduct">
|
<q-card :class="getmycardcl()" v-if="!!myproduct">
|
||||||
|
<div v-if="myorder">
|
||||||
|
myorder: {{ myorder }}
|
||||||
|
</div>
|
||||||
|
|
||||||
<q-img :src="`` + myproduct.img" :alt="myproduct.name" :class="getclimg()"></q-img>
|
<q-img :src="`` + myproduct.img" :alt="myproduct.name" :class="getclimg()"></q-img>
|
||||||
|
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<q-btn
|
<q-btn v-if="!complete" fab color="primary" icon="fas fa-info" class="absolute"
|
||||||
v-if="!complete"
|
style="top: 0; right: 12px; transform: translateY(-50%);" :to="`/product/` + myproduct.code" />
|
||||||
fab
|
|
||||||
color="primary"
|
|
||||||
icon="fas fa-info"
|
|
||||||
class="absolute"
|
|
||||||
style="top: 0; right: 12px; transform: translateY(-50%);"
|
|
||||||
:to="`/product/`+ myproduct.code"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<div class="row items-center centeritems">
|
<div class="row items-center centeritems">
|
||||||
<div class="text-h7 boldhigh">
|
<div class="text-h7 boldhigh">
|
||||||
@@ -24,18 +21,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="complete">
|
<div v-if="complete && myproduct.producer.city">
|
||||||
<div class="text-grey text-title row items-center q-mt-sm">
|
<div class="text-grey text-title row items-center q-mt-sm">
|
||||||
<q-icon name="map" class="q-mr-xs" />
|
<q-icon name="map" class="q-mr-xs" />
|
||||||
Origine: <span class="text-blue q-ml-xs text-h8"> {{ myproduct.producer.city }} ({{
|
{{ t('products.origine') }}: <span class="text-blue q-ml-xs text-h8"> {{ myproduct.producer.city }} ({{
|
||||||
myproduct.producer.region
|
myproduct.producer.region
|
||||||
}})</span>
|
}})</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="complete" class="text-grey text-title row items-center">
|
<div v-if="complete && myproduct.producer.name" class="text-grey text-title row items-center">
|
||||||
<q-icon name="place" class="q-mr-xs" />
|
<q-icon name="place" class="q-mr-xs" />
|
||||||
Produttore: <span class="text-black q-ml-xs text-h8"> {{ myproduct.producer.name }}</span>
|
{{ t('products.producer') }}: <span class="text-black q-ml-xs text-h8"> {{ myproduct.producer.name }}</span>
|
||||||
|
</div>
|
||||||
|
<div v-if="complete && myproduct.weight" class="text-grey text-title row items-center">
|
||||||
|
<q-icon name="fas fa-balance-scale" class="q-mr-xs" />
|
||||||
|
{{ t('products.weight') }}: <span class="text-black q-ml-xs text-h8"> {{ myproduct.weight }} {{
|
||||||
|
tools.getUnitsMeasure(myproduct.unit, true) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -48,27 +50,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row q-mb-sm no-wrap items-center centeritems">
|
<div class="row q-mb-sm no-wrap items-center centeritems">
|
||||||
<q-btn round size="xs" text-color="grey" icon="fas fa-minus" @click="decqty"></q-btn>
|
<q-btn round size="xs" text-color="grey" icon="fas fa-minus" @click="decqty()"></q-btn>
|
||||||
<q-field outlined dense style="width: 40px; height: 30px;" class="q-mx-xs">
|
<q-field outlined dense style="width: 40px; height: 30px;" class="q-mx-xs">
|
||||||
<template v-slot:control>
|
<template v-slot:control>
|
||||||
<div class="self-center no-outline" tabindex="0">{{ order.quantity }}</div>
|
<div class="self-center no-outline" tabindex="0">{{ order.quantity }}</div>
|
||||||
</template>
|
</template>
|
||||||
</q-field>
|
</q-field>
|
||||||
<q-btn round size="xs" text-color="grey" icon="fas fa-plus" @click="addqty"></q-btn>
|
<q-btn round size="xs" text-color="grey" icon="fas fa-plus" @click="addqty()"></q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="complete || getnumstore() > 1">
|
<div v-if="complete || getnumstore() > 1">
|
||||||
<div class="text-blue text-title row items-center q-mr-md centeritems">
|
<div class="text-blue text-title row items-center q-mr-md centeritems">
|
||||||
<q-icon size="sm" name="fas fa-shipping-fast" class="q-mr-sm" />
|
<q-icon size="sm" name="fas fa-shipping-fast" class="q-mr-sm" />
|
||||||
Ritiro presso:
|
{{ t('products.ritiro_presso') }}:
|
||||||
</div>
|
</div>
|
||||||
<div class="text-green-6 text-title row items-center q-my-sm centeritems">
|
<div class="text-green-6 text-title row items-center q-my-sm centeritems">
|
||||||
|
|
||||||
<div v-if="getnumstore() > 1">
|
<div v-if="getnumstore() > 1">
|
||||||
<q-select
|
<q-select :behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'" outlined v-model="storeSelected"
|
||||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
:options="getStorehouses()" :label="t('products.magazzino') + `:`" emit-value map-options>
|
||||||
outlined v-model="order.idStorehouse"
|
|
||||||
:options="getStorehouses()"
|
|
||||||
label="Magazzino:" emit-value map-options>
|
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
@@ -81,9 +80,8 @@
|
|||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
<q-card-actions vertical align="center">
|
<q-card-actions vertical align="center">
|
||||||
<q-btn
|
<q-btn icon="fas fa-cart-plus" color="primary" :disable="checkifCartDisable()" rounded size="md"
|
||||||
icon="fas fa-cart-plus" color="primary" :disable="checkifCartDisable()" rounded size="md"
|
:label="t('products.addcart', {qta: order.quantity})" @click="addtoCart()">
|
||||||
label="Aggiungi al Carrello" @click="addtoCart">
|
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<!--
|
<!--
|
||||||
<q-btn :icon="iconWhishlist(myproduct)" flat color="primary" rounded label="Lista Desideri">
|
<q-btn :icon="iconWhishlist(myproduct)" flat color="primary" rounded label="Lista Desideri">
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { ICalcStat, IOperators } from '../../model'
|
|||||||
import { useUserStore } from '../../store/UserStore'
|
import { useUserStore } from '../../store/UserStore'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useGlobalStore } from '../../store/globalStore'
|
import { useGlobalStore } from '../../store/globalStore'
|
||||||
|
import { useCircuitStore } from '../../store/CircuitStore'
|
||||||
import { useI18n } from '../../boot/i18n'
|
import { useI18n } from '../../boot/i18n'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
@@ -23,6 +24,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
const circuitStore = useCircuitStore()
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const $q = useQuasar()
|
const $q = useQuasar()
|
||||||
const $router = useRouter()
|
const $router = useRouter()
|
||||||
@@ -34,7 +36,10 @@ export default defineComponent({
|
|||||||
|
|
||||||
const tipoConto = ref(costanti.AccountType.USER)
|
const tipoConto = ref(costanti.AccountType.USER)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const circuitpath = computed(() => userStore.my.profile.last_circuitpath)
|
const circuitpath = computed(() => {
|
||||||
|
const circ = circuitStore.getCircuitByProvinceAndCard(userStore.my.profile.resid_province, userStore.my.profile.resid_card)
|
||||||
|
return circ && circ.path ? circ.path : ''
|
||||||
|
})
|
||||||
|
|
||||||
const contact = computed(() => userStore.my)
|
const contact = computed(() => userStore.my)
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="row text-center justify-evenly items-center">
|
<div class="row text-center justify-evenly items-center">
|
||||||
<CUserInfoAccount
|
|
||||||
:user="contact"
|
|
||||||
:circuitpath="circuitpath"
|
|
||||||
:admin="false"
|
|
||||||
:onlysaldo="true"
|
|
||||||
/>
|
|
||||||
<div class="q-mb-sm">
|
<div class="q-mb-sm">
|
||||||
<q-btn
|
<q-btn
|
||||||
icon="fas fa-upload"
|
icon="fas fa-upload"
|
||||||
color="primary"
|
color="positive"
|
||||||
size="md"
|
size="md"
|
||||||
rounded
|
rounded
|
||||||
:label="$t('circuit.sendcoins_toso')"
|
:label="$t('circuit.sendcoins_toso')"
|
||||||
@@ -19,13 +13,21 @@
|
|||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
icon="fas fa-download"
|
icon="fas fa-download"
|
||||||
color="primary"
|
color="accent"
|
||||||
size="md"
|
size="md"
|
||||||
rounded
|
rounded
|
||||||
:label="$t('circuit.receive_coins')"
|
:label="$t('circuit.receive_coins')"
|
||||||
@click="tools.receiveRis($q, $t)"
|
@click="tools.receiveRis($q, $t)"
|
||||||
>
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
<div class="q-mb-sm"></div>
|
||||||
|
|
||||||
|
<CUserInfoAccount
|
||||||
|
:user="contact"
|
||||||
|
:circuitpath="circuitpath"
|
||||||
|
:admin="false"
|
||||||
|
:onlysaldo="true"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<q-dialog v-model="usersList.show">
|
<q-dialog v-model="usersList.show">
|
||||||
@@ -83,7 +85,6 @@
|
|||||||
<div
|
<div
|
||||||
v-else-if="tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT"
|
v-else-if="tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div v-for="(grp, i) in usersList.listgroup" :key="i">
|
<div v-for="(grp, i) in usersList.listgroup" :key="i">
|
||||||
<CMyGroup :mygrp="grp" :visu="costanti.USER_GROUPS" :noaut="true">
|
<CMyGroup :mygrp="grp" :visu="costanti.USER_GROUPS" :noaut="true">
|
||||||
</CMyGroup>
|
</CMyGroup>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
function addsubqty(addqty: boolean, subqty: boolean) {
|
function addsubqty(addqty: boolean, subqty: boolean) {
|
||||||
if (addqty) {
|
if (addqty) {
|
||||||
if (props.order.quantity! >= 10)
|
if (props.order.quantity >= 10)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
const table = ref(toolsext.TABMYGROUPS)
|
const table = ref(toolsext.TABMYGROUPS)
|
||||||
|
|
||||||
|
const circuitsnational = ref(<any[]>[])
|
||||||
|
|
||||||
const circuit = ref(<ICircuit | null | undefined>null)
|
const circuit = ref(<ICircuit | null | undefined>null)
|
||||||
|
|
||||||
watch(() => props.user, (newval, oldval) => {
|
watch(() => props.user, (newval, oldval) => {
|
||||||
@@ -83,6 +85,8 @@ export default defineComponent({
|
|||||||
circuit.value = circuitStore.getCircuitByPath(props.circuitpath)
|
circuit.value = circuitStore.getCircuitByPath(props.circuitpath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
circuitsnational.value = circuitStore.getCircuitsNational()
|
||||||
|
|
||||||
if (props.account) {
|
if (props.account) {
|
||||||
myaccount.value = props.account
|
myaccount.value = props.account
|
||||||
} else {
|
} else {
|
||||||
@@ -138,6 +142,7 @@ export default defineComponent({
|
|||||||
myaccount,
|
myaccount,
|
||||||
save,
|
save,
|
||||||
toolsext,
|
toolsext,
|
||||||
|
circuitsnational,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -6,14 +6,22 @@
|
|||||||
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
|
<q-avatar v-if="userStore.getImgByCircuit(circuit)" size="30px">
|
||||||
|
<q-img
|
||||||
|
:src="userStore.getImgByCircuit(circuit)"
|
||||||
|
:alt="circuit.name"
|
||||||
|
img-class="imgprofile"
|
||||||
|
height="30px"
|
||||||
|
@click="
|
||||||
|
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circuit))
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</q-avatar>
|
||||||
<q-btn
|
<q-btn
|
||||||
text-color="blue"
|
class="shadow-1 q-mb-xs q-mt-xs"
|
||||||
color="white"
|
color="primary"
|
||||||
class="shadow-5 q-mb-xs"
|
|
||||||
dense
|
|
||||||
flat
|
|
||||||
rounded
|
rounded
|
||||||
size="md"
|
size="sm"
|
||||||
@click="naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circuit))"
|
@click="naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circuit))"
|
||||||
>
|
>
|
||||||
{{ circuit.name }}
|
{{ circuit.name }}
|
||||||
@@ -29,6 +37,47 @@
|
|||||||
>
|
>
|
||||||
</CSaldo>
|
</CSaldo>
|
||||||
|
|
||||||
|
<div v-if="onlysaldo">
|
||||||
|
<div v-for="(circnaz, ind) of circuitsnational" :key="ind">
|
||||||
|
<q-avatar v-if="userStore.getImgByCircuit(circnaz)" size="30px">
|
||||||
|
<q-img
|
||||||
|
:src="userStore.getImgByCircuit(circnaz)"
|
||||||
|
:alt="circuit.name"
|
||||||
|
img-class="imgprofile"
|
||||||
|
height="30px"
|
||||||
|
@click="
|
||||||
|
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circnaz))
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</q-avatar>
|
||||||
|
<q-btn
|
||||||
|
class="shadow-1 q-mb-xs q-mt-xs"
|
||||||
|
color="primary"
|
||||||
|
rounded
|
||||||
|
size="sm"
|
||||||
|
@click="
|
||||||
|
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circnaz))
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ circnaz.name }}
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
<CSaldo
|
||||||
|
v-if="tools.isUserOk() && circnaz.account"
|
||||||
|
:account="circnaz.account"
|
||||||
|
:symbol="circnaz.symbol"
|
||||||
|
:color="circnaz.color"
|
||||||
|
:saldo="circnaz.account.saldo_pend"
|
||||||
|
:qtarem="
|
||||||
|
myaccount
|
||||||
|
? circuitStore.getRemainingCoinsToSend(circnaz.account)
|
||||||
|
: 0
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</CSaldo>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<q-card-section v-if="!onlysaldo">
|
<q-card-section v-if="!onlysaldo">
|
||||||
<div v-if="myaccount.date_created" class="container">
|
<div v-if="myaccount.date_created" class="container">
|
||||||
<q-icon name="fas fa-lightbulb" class="iconcirc"></q-icon>
|
<q-icon name="fas fa-lightbulb" class="iconcirc"></q-icon>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import { CMyCart, CSigninNoreg } from '@/components'
|
|||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import { useNotifStore } from '@src/store/NotifStore'
|
import { useNotifStore } from '@src/store/NotifStore'
|
||||||
|
|
||||||
|
|
||||||
import { Platform } from 'quasar';
|
import { Platform } from 'quasar';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@@ -68,6 +69,8 @@ export default defineComponent({
|
|||||||
const testStore = useTestStore()
|
const testStore = useTestStore()
|
||||||
const notifStore = useNotifStore()
|
const notifStore = useNotifStore()
|
||||||
|
|
||||||
|
const { getnumItemsCart } = MixinUsers()
|
||||||
|
|
||||||
const site = computed(() => globalStore.site)
|
const site = computed(() => globalStore.site)
|
||||||
const isfinishLoading = computed(() => globalStore.finishLoading)
|
const isfinishLoading = computed(() => globalStore.finishLoading)
|
||||||
|
|
||||||
@@ -501,18 +504,6 @@ export default defineComponent({
|
|||||||
$router.replace('/signup')
|
$router.replace('/signup')
|
||||||
}
|
}
|
||||||
|
|
||||||
function getnumItemsCart() {
|
|
||||||
/* const arrcart = Products.cart
|
|
||||||
if (!!arrcart) {
|
|
||||||
if (!!arrcart.items) {
|
|
||||||
const total = arrcart.items.reduce((sum, item) => sum + item.order.quantity, 0)
|
|
||||||
return total
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function getnumOrdersCart() {
|
function getnumOrdersCart() {
|
||||||
/* const arrorderscart = Products.orders.filter((rec) => rec.status < shared_consts.OrderStatus.RECEIVED)
|
/* const arrorderscart = Products.orders.filter((rec) => rec.status < shared_consts.OrderStatus.RECEIVED)
|
||||||
|
|||||||
@@ -250,7 +250,7 @@
|
|||||||
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">
|
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">
|
||||||
Carrello
|
Carrello
|
||||||
</div>
|
</div>
|
||||||
<CMyCart></CMyCart>
|
<CMyCart v-if="isfinishLoading"></CMyCart>
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
<!-- USER BAR -->
|
<!-- USER BAR -->
|
||||||
<q-drawer
|
<q-drawer
|
||||||
|
|||||||
@@ -341,7 +341,10 @@ h3 {
|
|||||||
|
|
||||||
.myimgtitle {
|
.myimgtitle {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: 300px;
|
||||||
|
@media (max-width: 718px) {
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-card-big {
|
.my-card-big {
|
||||||
@@ -1219,7 +1222,7 @@ h3 {
|
|||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
letter-spacing: 0.15px;
|
letter-spacing: 0.15px;
|
||||||
min-height: 40px;
|
min-height: 27px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,89 +1,11 @@
|
|||||||
import { IEvents } from '../model';
|
import { IEvents } from '../model';
|
||||||
|
|
||||||
export const db_data = {
|
export const db_data = {
|
||||||
URL_FACEBOOK: 'https://www.facebook.com/associazioneshen',
|
URL_FACEBOOK: '',
|
||||||
|
|
||||||
userdata: {
|
userdata: {
|
||||||
calendar_editable: false,
|
calendar_editable: false,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'Scambi Reiki',
|
|
||||||
details: 'Nelle serate esperienziali è possibile <span class="boldhigh">Dare e Ricevere</span> un trattamento completo.<br />'
|
|
||||||
+ 'Possono partecipare le persone che hanno già preso parte al <span class="boldhigh">seminario di 1° livello</span>, ma anche <span class="boldhigh">tutti quelli che hanno il desiderio di conoscere il Reiki</span> e sperimentarlo per la prima volta: in questo caso invitiamo gli interessati a contattarci per un appuntamento prima dell’inizio della serata per ricevere le informazioni pratiche.',
|
|
||||||
date: '2019-07-11',
|
|
||||||
time: '21:00',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'orange',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: 'files/eventi/Reiki_aMICHI.pdf',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Scambi Reiki',
|
|
||||||
details: 'Nelle serate esperienziali è possibile <span class="boldhigh">Dare e Ricevere</span> un trattamento completo.<br />'
|
|
||||||
+ 'Possono partecipare le persone che hanno già preso parte al <span class="boldhigh">seminario di 1° livello</span>, ma anche <span class="boldhigh">tutti quelli che hanno il desiderio di conoscere il Reiki</span> e sperimentarlo per la prima volta: in questo caso invitiamo gli interessati a contattarci per un appuntamento prima dell’inizio della serata per ricevere le informazioni pratiche.',
|
|
||||||
date: '2019-07-20',
|
|
||||||
time: '21:00',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'orange',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Seminario Reiki 1° Livello',
|
|
||||||
details: 'I seminari vengono organizzati volutamente in gruppi poco numerosi.\n'
|
|
||||||
+ 'Si crea così un ambiente accogliente e tranquillo con un atmosfera conviviale.<br />'
|
|
||||||
+ ''
|
|
||||||
+ 'Per info vedi <a href="reiki/seminari">Seminari Reiki</a>',
|
|
||||||
date: '2019-07-22',
|
|
||||||
days: 2,
|
|
||||||
time: '9:00',
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'red',
|
|
||||||
icon: 'fas fa-chalkboard-teacher',
|
|
||||||
img: 'images/reiki/reikisfondo.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Cristina Barattoni',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
teacher2: 'Elisa Ghizzardi',
|
|
||||||
avatar2: 'elisa.png',
|
|
||||||
infoextra: 'sabato e domenica dalle 10.00 alle 18.00',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Presentazione Corsi per Operatori del Massaggio del Benessere',
|
|
||||||
details: 'Vieni alla presentazione dei Corsi!<br>10 settembre a Ravenna, 17 settembre a Lugo',
|
|
||||||
date: '2019-09-10',
|
|
||||||
time: '20:30',
|
|
||||||
duration: 120,
|
|
||||||
side: 'left',
|
|
||||||
bgcolor: 'blue',
|
|
||||||
icon: 'fas fa-praying-hands',
|
|
||||||
img: 'images/scuolaopbenessere/img1.jpg',
|
|
||||||
where: 'Centro Shen',
|
|
||||||
// whereicon: 'shen.png',
|
|
||||||
teacher: 'Operatori',
|
|
||||||
avatar: 'cristina.png',
|
|
||||||
avatar2: 'elisa.png',
|
|
||||||
infoextra: '',
|
|
||||||
linkpdf: '',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_enUs = {
|
const msg_website_enUs = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
quantity: 'Quantità',
|
quantity: 'Quantità',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_es = {
|
const msg_website_es = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
quantity: 'Quantità',
|
quantity: 'Quantità',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_fr = {
|
const msg_website_fr = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
homepage: {
|
homepage: {
|
||||||
titlecontatti: 'CONTACTS',
|
titlecontatti: 'CONTACTS',
|
||||||
|
|||||||
@@ -5,14 +5,6 @@ const msg_website_it = {
|
|||||||
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.',
|
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',
|
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||||
},
|
},
|
||||||
products: {
|
|
||||||
quantity: 'Quantità',
|
|
||||||
quantityAvailable: 'Disponibili',
|
|
||||||
weight: 'Peso',
|
|
||||||
stars: 'Voto',
|
|
||||||
color: 'Colore',
|
|
||||||
theme: 'Tema',
|
|
||||||
},
|
|
||||||
hours: {
|
hours: {
|
||||||
descr: 'Descrizione',
|
descr: 'Descrizione',
|
||||||
date: 'Data',
|
date: 'Data',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
const msg_website_pt = {
|
const msg_website_pt = {
|
||||||
ws: {
|
ws: {
|
||||||
sitename: 'Riso',
|
sitename: 'Fiore Della Vita',
|
||||||
siteshortname: 'RISO',
|
siteshortname: 'Fiore Della Vita',
|
||||||
botname: 'Riso BOT',
|
description: '',
|
||||||
|
keywords: '',
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
home: 'Home',
|
home: 'Home',
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ export default function () {
|
|||||||
if (notif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
|
if (notif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
|
||||||
// console.log('notif.extrarec', notif.extrarec)
|
// console.log('notif.extrarec', notif.extrarec)
|
||||||
if (notif.extrarec && notif.extrarec.hasOwnProperty('causal') && notif.extrarec.causal) {
|
if (notif.extrarec && notif.extrarec.hasOwnProperty('causal') && notif.extrarec.causal) {
|
||||||
descr += '( ' + $t('movement.causal') + ': ' + notif.extrarec.causal + ')'
|
descr += '<br>' + $t('movement.causal') + ': ' + notif.extrarec.causal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (notif.typedir === shared_consts.TypeNotifs.TYPEDIR_HANDSHAKE) {
|
} else if (notif.typedir === shared_consts.TypeNotifs.TYPEDIR_HANDSHAKE) {
|
||||||
@@ -188,7 +188,7 @@ export default function () {
|
|||||||
if (notif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
|
if (notif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
|
||||||
// console.log('notif.extrarec', notif.extrarec)
|
// console.log('notif.extrarec', notif.extrarec)
|
||||||
if (notif.extrarec && notif.extrarec.hasOwnProperty('causal') && notif.extrarec.causal) {
|
if (notif.extrarec && notif.extrarec.hasOwnProperty('causal') && notif.extrarec.causal) {
|
||||||
descr += '( ' + $t('movement.causal') + ': ' + notif.extrarec.causal + ')'
|
descr += '<br>' + $t('movement.causal') + ': ' + notif.extrarec.causal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (notif.typedir === shared_consts.TypeNotifs.TYPEDIR_GROUPS) {
|
} else if (notif.typedir === shared_consts.TypeNotifs.TYPEDIR_GROUPS) {
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
export interface ICategory {
|
|
||||||
id?: number,
|
|
||||||
descr_it?: string
|
|
||||||
descr_en?: string
|
|
||||||
descr_es?: string
|
|
||||||
campo2bool: boolean
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { IAction } from '@src/model/Projects'
|
import { IAction } from '@src/model/Projects'
|
||||||
import { IFriends, IGroupShort, IMyGroup, IPaymentType } from '@src/model/UserStore'
|
import { IFriends, IGroupShort, IMyGroup, IPaymentType } from '@src/model/UserStore'
|
||||||
import {
|
import {
|
||||||
IDepartment, IProducer, IShareWithUs, IStorehouse,
|
IDepartment, IProducer, IShareWithUs, IStorehouse, ICategory
|
||||||
} from '@src/model/Products'
|
} from '@src/model/Products'
|
||||||
|
|
||||||
import { IUserFields, IUserProfile } from '@src/model/UserStore'
|
import { IUserFields, IUserProfile } from '@src/model/UserStore'
|
||||||
@@ -434,6 +434,7 @@ export interface IGlobalState {
|
|||||||
producers: IProducer[],
|
producers: IProducer[],
|
||||||
storehouses: IStorehouse[],
|
storehouses: IStorehouse[],
|
||||||
departments: IDepartment[],
|
departments: IDepartment[],
|
||||||
|
categories: ICategory[],
|
||||||
sharewithus: IShareWithUs[],
|
sharewithus: IShareWithUs[],
|
||||||
groups: IGroup[],
|
groups: IGroup[],
|
||||||
resps: IResp[],
|
resps: IResp[],
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export interface IProduct {
|
|||||||
canBeShipped?: boolean,
|
canBeShipped?: boolean,
|
||||||
canBeBuyOnline?: boolean,
|
canBeBuyOnline?: boolean,
|
||||||
weight?: number,
|
weight?: number,
|
||||||
|
unit: number,
|
||||||
stars?: number,
|
stars?: number,
|
||||||
date?: Date,
|
date?: Date,
|
||||||
icon?: string,
|
icon?: string,
|
||||||
@@ -40,7 +41,7 @@ export interface IOrder {
|
|||||||
after_price?: string
|
after_price?: string
|
||||||
color?: string
|
color?: string
|
||||||
size?: string
|
size?: string
|
||||||
quantity?: number
|
quantity: number
|
||||||
weight?: number
|
weight?: number
|
||||||
stars?: number
|
stars?: number
|
||||||
product?: IProduct
|
product?: IProduct
|
||||||
@@ -80,6 +81,12 @@ export interface IDepartment {
|
|||||||
username?: string,
|
username?: string,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ICategory {
|
||||||
|
_id?: any
|
||||||
|
name: string,
|
||||||
|
img?: string,
|
||||||
|
}
|
||||||
|
|
||||||
export interface IStorehouse {
|
export interface IStorehouse {
|
||||||
_id?: any
|
_id?: any
|
||||||
idapp?: string
|
idapp?: string
|
||||||
|
|||||||
@@ -142,6 +142,7 @@ export interface IUserProfile {
|
|||||||
mycircuits: IMyCircuit[]
|
mycircuits: IMyCircuit[]
|
||||||
last_circuitpath: string
|
last_circuitpath: string
|
||||||
lastdate_reqRis?: Date
|
lastdate_reqRis?: Date
|
||||||
|
userstoverify: IFriends[]
|
||||||
manage_mygroups: IMyGroup[]
|
manage_mygroups: IMyGroup[]
|
||||||
notifs: IUserNotifType[]
|
notifs: IUserNotifType[]
|
||||||
notif_idCities: number[]
|
notif_idCities: number[]
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ export * from './signup-option'
|
|||||||
export * from './key-value'
|
export * from './key-value'
|
||||||
// export * from './payload'
|
// export * from './payload'
|
||||||
|
|
||||||
export * from './Categories'
|
|
||||||
export * from './Todos'
|
export * from './Todos'
|
||||||
export * from './Projects'
|
export * from './Projects'
|
||||||
|
|
||||||
|
|||||||
0
src/rootgen/admin/categories/categories.scss
Executable file
0
src/rootgen/admin/categories/categories.scss
Executable file
34
src/rootgen/admin/categories/categories.ts
Executable file
34
src/rootgen/admin/categories/categories.ts
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
import { colTablecategories } from '@src/store/Modules/fieldsTable'
|
||||||
|
|
||||||
|
import { CImgText } from '../../../components/CImgText/index'
|
||||||
|
|
||||||
|
import { defineComponent } from 'vue'
|
||||||
|
import { CCard } from '@/components/CCard'
|
||||||
|
import { CMyPage } from '@/components/CMyPage'
|
||||||
|
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||||
|
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||||
|
|
||||||
|
import MixinMetaTags from '../../../mixins/mixin-metatags'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CategoriesPage',
|
||||||
|
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec },
|
||||||
|
setup() {
|
||||||
|
const pagination = {
|
||||||
|
sortBy: 'name',
|
||||||
|
descending: false,
|
||||||
|
page: 2,
|
||||||
|
rowsPerPage: 5
|
||||||
|
// rowsNumber: xx if getting data from a server
|
||||||
|
}
|
||||||
|
|
||||||
|
const { setmeta } = MixinMetaTags()
|
||||||
|
|
||||||
|
return {
|
||||||
|
colTablecategories,
|
||||||
|
setmeta,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
31
src/rootgen/admin/categories/categories.vue
Executable file
31
src/rootgen/admin/categories/categories.vue
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
<template>
|
||||||
|
<CMyPage title="Categorie" imgbackground="images/produttori.jpg" sizes="max-height: 120px">
|
||||||
|
<span>{{
|
||||||
|
setmeta({
|
||||||
|
title: 'Categorie',
|
||||||
|
description: '',
|
||||||
|
keywords: '',
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||||
|
<CTitleBanner title="Categorie"></CTitleBanner>
|
||||||
|
<CGridTableRec
|
||||||
|
prop_mytable="categorys"
|
||||||
|
prop_mytitle="Categorie"
|
||||||
|
:prop_mycolumns="colTablecategories"
|
||||||
|
prop_colkey="name"
|
||||||
|
nodataLabel="Nessuna Categoria"
|
||||||
|
noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
|
||||||
|
|
||||||
|
</CGridTableRec>
|
||||||
|
</div>
|
||||||
|
</CMyPage>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" src="./categories.ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import 'categories.scss';
|
||||||
|
</style>
|
||||||
@@ -58,6 +58,7 @@ function getRoutesAd(site: ISites) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const routes_newsletter: IListRoutes[] = [
|
const routes_newsletter: IListRoutes[] = [
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
@@ -339,26 +340,6 @@ function getRoutesAd(site: ISites) {
|
|||||||
onlyAdmin: true,
|
onlyAdmin: true,
|
||||||
onlyManager: true
|
onlyManager: true
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
{
|
|
||||||
active: functionality.ENABLE_ECOMMERCE,
|
|
||||||
path: '/admin/ecommerce',
|
|
||||||
order: 31,
|
|
||||||
faIcon: 'fa fa-list-alt',
|
|
||||||
materialIcon: 'next_week',
|
|
||||||
name: 'pages.admin_ecommerce',
|
|
||||||
routes2: routes_admin_ecommerce,
|
|
||||||
inmenu: false,
|
|
||||||
submenu: true,
|
|
||||||
level_parent: 0.5,
|
|
||||||
level_child: 0.5,
|
|
||||||
solotitle: true,
|
|
||||||
onlyAdmin: true,
|
|
||||||
onlyManager: true,
|
|
||||||
onlyDepartment: true
|
|
||||||
},
|
|
||||||
|
|
||||||
*/
|
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 35,
|
order: 35,
|
||||||
@@ -524,16 +505,6 @@ function getRoutesAd(site: ISites) {
|
|||||||
onlyEditor: true
|
onlyEditor: true
|
||||||
},
|
},
|
||||||
...routes_manager,
|
...routes_manager,
|
||||||
{
|
|
||||||
active: true,
|
|
||||||
order: 1000,
|
|
||||||
path: '/404error',
|
|
||||||
materialIcon: 'fas fa-calendar-plus',
|
|
||||||
name: 'otherpages.error404',
|
|
||||||
component: () => import('@/root/My404page/My404page.vue'),
|
|
||||||
inmenu: false,
|
|
||||||
infooter: false
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
|
|||||||
249
src/router/routesECommerce.ts
Normal file
249
src/router/routesECommerce.ts
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
import { IListRoutes, ISites } from '@src/model'
|
||||||
|
|
||||||
|
function getRoutesEcomm(site: ISites) {
|
||||||
|
|
||||||
|
const routes_ecommerce: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/products',
|
||||||
|
materialIcon: 'fas fa-shopping-cart',
|
||||||
|
name: 'pages.productslist',
|
||||||
|
component: () => import('@/views/ecommerce/productsList/productsList.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/checkout',
|
||||||
|
materialIcon: 'fas fa-shopping-cart',
|
||||||
|
name: 'pages.checkout',
|
||||||
|
component: () => import('@/views/ecommerce/checkOut/checkOut.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/orderinfo',
|
||||||
|
materialIcon: 'fas fa-shopping-cart',
|
||||||
|
name: 'pages.orderinfo',
|
||||||
|
component: () => import('@/views/ecommerce/orderInfo/orderInfo.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 35,
|
||||||
|
path: '/admin/ecommerce/orders',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.orders',
|
||||||
|
component: () => import('@/rootgen/admin/orders/orders.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyDepartment: true
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const routes_admin_ecommerce: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/admin/ecommerce/products',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.products',
|
||||||
|
component: () => import('@/rootgen/admin/products/products.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/admin/ecommerce/producers',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.producer',
|
||||||
|
component: () => import('@/rootgen/admin/producer/producer.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/admin/ecommerce/storehouses',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.storehouses',
|
||||||
|
component: () => import('@/rootgen/admin/storehouses/storehouses.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 31,
|
||||||
|
path: '/admin/ecommerce/departments',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.departments',
|
||||||
|
component: () => import('@/rootgen/admin/departments/departments.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 31,
|
||||||
|
path: '/admin/ecommerce/orders',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.orders',
|
||||||
|
component: () => import('@/rootgen/admin/orders/orders.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 32,
|
||||||
|
path: '/admin/ecommerce/categories',
|
||||||
|
materialIcon: 'fas fa-file-alt',
|
||||||
|
name: 'pages.categories',
|
||||||
|
component: () => import('@/rootgen/admin/categories/categories.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyEditor: true
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const routes_admin_ecommerce_menu: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 30,
|
||||||
|
path: '/admin/ecommerce/products',
|
||||||
|
name: 'pages.products',
|
||||||
|
component: () => import('@/rootgen/admin/products/products.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 31,
|
||||||
|
path: '/admin/ecommerce/producers',
|
||||||
|
name: 'pages.producer',
|
||||||
|
component: () => import('@/rootgen/admin/producer/producer.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 32,
|
||||||
|
path: '/admin/ecommerce/storehouses',
|
||||||
|
name: 'pages.storehouses',
|
||||||
|
component: () => import('@/rootgen/admin/storehouses/storehouses.vue'),
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 32,
|
||||||
|
path: '/admin/ecommerce/departments',
|
||||||
|
name: 'pages.departments',
|
||||||
|
component: () => import('@/rootgen/admin/departments/departments.vue'),
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 35,
|
||||||
|
path: '/admin/ecommerce/orders',
|
||||||
|
name: 'pages.orders2',
|
||||||
|
component: () => import('@/rootgen/admin/orders/orders.vue'),
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 36,
|
||||||
|
path: '/admin/ecommerce/categories',
|
||||||
|
name: 'pages.categories',
|
||||||
|
component: () => import('@/rootgen/admin/categories/categories.vue'),
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const menuEcomm = [
|
||||||
|
{
|
||||||
|
active: site.confpages && site.confpages.enableEcommerce,
|
||||||
|
path: '/ecommerce',
|
||||||
|
order: 1402,
|
||||||
|
faIcon: 'fa fa-list-alt',
|
||||||
|
materialIcon: 'next_week',
|
||||||
|
name: 'pages.ecommerce',
|
||||||
|
routes2: routes_ecommerce,
|
||||||
|
inmenu: true,
|
||||||
|
onlyif_logged: true,
|
||||||
|
// onlySocioResidente: true,
|
||||||
|
solotitle: true,
|
||||||
|
infooter: true
|
||||||
|
},
|
||||||
|
...routes_ecommerce,
|
||||||
|
{
|
||||||
|
active: site.confpages && site.confpages.enableEcommerce,
|
||||||
|
path: '/admin/ecommerce',
|
||||||
|
order: 1420,
|
||||||
|
faIcon: 'fa fa-list-alt',
|
||||||
|
materialIcon: 'next_week',
|
||||||
|
name: 'pages.admin_ecommerce',
|
||||||
|
routes2: routes_admin_ecommerce,
|
||||||
|
inmenu: true,
|
||||||
|
solotitle: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyDepartment: true
|
||||||
|
},
|
||||||
|
...routes_admin_ecommerce,
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 1000,
|
||||||
|
path: '/product/:codprod',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'otherpages.product',
|
||||||
|
component: () => import('@/views/ecommerce/productInfo/productInfo.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
return menuEcomm
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const routesECommerce = {
|
||||||
|
routesEcomm: getRoutesEcomm,
|
||||||
|
}
|
||||||
@@ -43,6 +43,37 @@ const msg_it = {
|
|||||||
aportador_him: 'Invitato da',
|
aportador_him: 'Invitato da',
|
||||||
myactivities: 'Attività',
|
myactivities: 'Attività',
|
||||||
},
|
},
|
||||||
|
products: {
|
||||||
|
name: 'Nome',
|
||||||
|
active: 'Attivo',
|
||||||
|
code: 'Codice',
|
||||||
|
description: 'Descrizione',
|
||||||
|
icon: 'Icona',
|
||||||
|
img: 'Img',
|
||||||
|
department: 'Ufficio',
|
||||||
|
producer: 'Produttore',
|
||||||
|
category: 'Categorie',
|
||||||
|
price: 'Prezzo',
|
||||||
|
after_price: 'Dopo il Prezzo',
|
||||||
|
size: 'Dimensioni',
|
||||||
|
canBeShipped: 'Può essere spedito',
|
||||||
|
canBeBuyOnline: 'Acquistabile On Line',
|
||||||
|
date: 'Data',
|
||||||
|
quantity: 'Quantità',
|
||||||
|
quantityAvailable: 'Disponibili',
|
||||||
|
weight: 'Peso',
|
||||||
|
unit: 'Unità di Misura',
|
||||||
|
stars: 'Voto',
|
||||||
|
color: 'Colore',
|
||||||
|
theme: 'Tema',
|
||||||
|
ritiro_presso: 'Ritiro presso',
|
||||||
|
magazzino: 'Magazzino',
|
||||||
|
addcart: 'Aggiungi {qta} al Carrello',
|
||||||
|
origine: 'Origine',
|
||||||
|
},
|
||||||
|
storehouses: {
|
||||||
|
name: 'Magazzino',
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
myactivities: 'Attività',
|
myactivities: 'Attività',
|
||||||
myactivities2: 'Mie Attività',
|
myactivities2: 'Mie Attività',
|
||||||
@@ -245,7 +276,9 @@ const msg_it = {
|
|||||||
addedfidocircuit: 'Fido abilitato al {circuitname}',
|
addedfidocircuit: 'Fido abilitato al {circuitname}',
|
||||||
addedcircuit: 'Aggiunto al {circuitname}',
|
addedcircuit: 'Aggiunto al {circuitname}',
|
||||||
domanda_trusted: 'Accettare la Fiducia a {username}?',
|
domanda_trusted: 'Accettare la Fiducia a {username}?',
|
||||||
trusted: 'Accettato la Fiducia',
|
domanda_reject: 'Non lo conosci? Vuoi rifiutare l\'accesso a {username}?',
|
||||||
|
trusted: 'Hai Accettato la Fiducia a {username}',
|
||||||
|
rejected: 'Hai Rifiutato l\'accesso a {username}',
|
||||||
domanda_ask_friend: 'Chiedere l\'Amicizia a {username}?',
|
domanda_ask_friend: 'Chiedere l\'Amicizia a {username}?',
|
||||||
domanda_ask_handshake: 'Confermi che hai conosciuto personalmente e dai la tua fiducia a {username} ?',
|
domanda_ask_handshake: 'Confermi che hai conosciuto personalmente e dai la tua fiducia a {username} ?',
|
||||||
domanda_ask_group: 'Chiedere l\'invito al Gruppo {groupname}?',
|
domanda_ask_group: 'Chiedere l\'invito al Gruppo {groupname}?',
|
||||||
@@ -262,7 +295,7 @@ const msg_it = {
|
|||||||
cancel_req_friend: 'Annullata la richiesta di Amicizia a {username}',
|
cancel_req_friend: 'Annullata la richiesta di Amicizia a {username}',
|
||||||
cancel_req_group: 'Annullata la richiesta al gruppo {groupname}',
|
cancel_req_group: 'Annullata la richiesta al gruppo {groupname}',
|
||||||
domanda_rejectedtrust: 'Rifiutare la Fiducia a {username}?',
|
domanda_rejectedtrust: 'Rifiutare la Fiducia a {username}?',
|
||||||
rejected: 'Rifiutato la Fiducia',
|
rejected: 'Hai rifiutato l\'accesso alla App a {username}',
|
||||||
domanda_blockuser: 'Bloccare {username}?',
|
domanda_blockuser: 'Bloccare {username}?',
|
||||||
domanda_unblockuser: 'Sbloccare {username}?',
|
domanda_unblockuser: 'Sbloccare {username}?',
|
||||||
domanda_reportuser: 'Segnalare l\'utente {username}?',
|
domanda_reportuser: 'Segnalare l\'utente {username}?',
|
||||||
@@ -1105,13 +1138,13 @@ const msg_it = {
|
|||||||
follow_circuits: 'Circuiti di cui fai parte',
|
follow_circuits: 'Circuiti di cui fai parte',
|
||||||
},
|
},
|
||||||
friends: {
|
friends: {
|
||||||
accept_trust: 'Accetta Fiducia',
|
accept_trust: 'Accetta',
|
||||||
accepted: 'Amicizia Accettata',
|
accepted: 'Amicizia Accettata',
|
||||||
refused: 'Amicizia Rifiutata',
|
refused: 'Amicizia Rifiutata',
|
||||||
accept: 'Accetta',
|
accept: 'Accetta',
|
||||||
refuse: 'Rifiuta',
|
refuse: 'Rifiuta',
|
||||||
accept_friend: 'Accetta Amicizia',
|
accept_friend: 'Accetta Amicizia',
|
||||||
refuse_trust: 'Rifiuta Fiducia',
|
refuse_trust: 'Rifiuta',
|
||||||
reject_trust: 'Revoca Fiducia',
|
reject_trust: 'Revoca Fiducia',
|
||||||
remove_from_myfriends: 'Rimuovi dagli Amici',
|
remove_from_myfriends: 'Rimuovi dagli Amici',
|
||||||
block_user: 'Blocca Utente',
|
block_user: 'Blocca Utente',
|
||||||
@@ -1313,7 +1346,7 @@ const msg_it = {
|
|||||||
domanda_refuse_circuit: 'Rifiutare la richiesta di {username} per entrare nel {circuitname}?',
|
domanda_refuse_circuit: 'Rifiutare la richiesta di {username} per entrare nel {circuitname}?',
|
||||||
refusedcircuit: 'Rifiutato a {username} la richiesta di entrare nel Circuito',
|
refusedcircuit: 'Rifiutato a {username} la richiesta di entrare nel Circuito',
|
||||||
sendcoins: 'Invia RIS',
|
sendcoins: 'Invia RIS',
|
||||||
sendcoins_toso: 'Invia RIS a',
|
sendcoins_toso: 'Invia RIS',
|
||||||
receive_coins: 'Ricevi RIS',
|
receive_coins: 'Ricevi RIS',
|
||||||
info_contocom: 'Il Conto Comunitario viene gestito collettivamente dai membri del Circuito Territoriale ed utilizzato per progetti comuni, per investimenti di solidarietà o per fare fronte ad eventuali situazioni di difficoltà.',
|
info_contocom: 'Il Conto Comunitario viene gestito collettivamente dai membri del Circuito Territoriale ed utilizzato per progetti comuni, per investimenti di solidarietà o per fare fronte ad eventuali situazioni di difficoltà.',
|
||||||
sendcoins_tocom: 'Invia RIS a Conto Comunitario',
|
sendcoins_tocom: 'Invia RIS a Conto Comunitario',
|
||||||
@@ -1329,6 +1362,8 @@ const msg_it = {
|
|||||||
refuse_coins_qty: 'Rifiuta',
|
refuse_coins_qty: 'Rifiuta',
|
||||||
refuse_coins: 'Rifiuta RIS',
|
refuse_coins: 'Rifiuta RIS',
|
||||||
movements: 'Movimenti',
|
movements: 'Movimenti',
|
||||||
|
ris_in_arrivo: '👉🏻 Ci sono RIS in Arrivo !',
|
||||||
|
transaz: 'mov',
|
||||||
movements_made: 'Movimenti effettuati',
|
movements_made: 'Movimenti effettuati',
|
||||||
contocomunitario: 'Conto Comunitario',
|
contocomunitario: 'Conto Comunitario',
|
||||||
comunitario: 'Comunitario',
|
comunitario: 'Comunitario',
|
||||||
@@ -1396,7 +1431,8 @@ const msg_it = {
|
|||||||
toCCom: 'Al Conto Comunitario:',
|
toCCom: 'Al Conto Comunitario:',
|
||||||
pendingtransaction: '* Transazioni Pendenti',
|
pendingtransaction: '* Transazioni Pendenti',
|
||||||
viewpendingtransaction: 'Vedi Transazioni Pendenti',
|
viewpendingtransaction: 'Vedi Transazioni Pendenti',
|
||||||
onlymymov: 'Mostra solo i miei movimenti',
|
onlymymov: 'Vedi i tuoi movimenti',
|
||||||
|
allmov: 'Vedi i movimenti di Tutto il Circuito',
|
||||||
showsaldi: 'Mostra i Saldi dei membri',
|
showsaldi: 'Mostra i Saldi dei membri',
|
||||||
updatewallet: 'Aggiorna',
|
updatewallet: 'Aggiorna',
|
||||||
},
|
},
|
||||||
@@ -1500,7 +1536,7 @@ const msg_it = {
|
|||||||
autorizzare: 'In attesa di Abilitazione',
|
autorizzare: 'In attesa di Abilitazione',
|
||||||
passeggeri: 'Passeggeri Navi',
|
passeggeri: 'Passeggeri Navi',
|
||||||
giainlista: 'Gia in Lista',
|
giainlista: 'Gia in Lista',
|
||||||
newreg: 'Registrati',
|
newreg: 'Iscritti',
|
||||||
onlineusers: 'OnLine',
|
onlineusers: 'OnLine',
|
||||||
diffusori: 'Diffusori',
|
diffusori: 'Diffusori',
|
||||||
strettelist: 'Strette',
|
strettelist: 'Strette',
|
||||||
@@ -1541,6 +1577,8 @@ const msg_it = {
|
|||||||
step_altri_in_profilo: 'Per vedere e modificare tutte le altre informazioni di Profilo:',
|
step_altri_in_profilo: 'Per vedere e modificare tutte le altre informazioni di Profilo:',
|
||||||
step_fine_title: 'Fine',
|
step_fine_title: 'Fine',
|
||||||
step_fine: 'Hai completato l\'aggiornamento del tuo Profilo. Ricorda che potrai modificarlo, cliccando sulla prima icona in alto a destra 🙎🏻♂️ .',
|
step_fine: 'Hai completato l\'aggiornamento del tuo Profilo. Ricorda che potrai modificarlo, cliccando sulla prima icona in alto a destra 🙎🏻♂️ .',
|
||||||
|
utenti_da_verificare: 'E\' richiesta la tua autorizzazione per far entrare i tuoi Amici alla App RISO',
|
||||||
|
utenti_da_verif_btn: 'Utenti',
|
||||||
},
|
},
|
||||||
|
|
||||||
cmd: {
|
cmd: {
|
||||||
@@ -1555,6 +1593,15 @@ const msg_it = {
|
|||||||
seen: 'Visto da {num} utenti',
|
seen: 'Visto da {num} utenti',
|
||||||
attend: '{num} Partecipanti',
|
attend: '{num} Partecipanti',
|
||||||
},
|
},
|
||||||
|
ecomm: {
|
||||||
|
already_in_cart: 'Questo prodotto è stato già aggiunto al Carrello',
|
||||||
|
area_personale: 'Devi prima accedere alla tua Area Personale',
|
||||||
|
prodotto: 'prodotto',
|
||||||
|
prodotti: 'prodotti',
|
||||||
|
haveadded: 'Hai Aggiunto',
|
||||||
|
error_cart: 'Errore durante l\'inserimento del prodotto sul carrello, riprovare.',
|
||||||
|
tocart: 'al Carrello',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -89,6 +89,17 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
return this.listcircuits.findIndex((rec: ICircuit) => rec.name === circuitname && rec.showAlways) >= 0
|
return this.listcircuits.findIndex((rec: ICircuit) => rec.name === circuitname && rec.showAlways) >= 0
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getCircuitsNational(): any[] {
|
||||||
|
const userStore = useUserStore()
|
||||||
|
let arrcircnaz = this.listcircuits.filter((rec: ICircuit) => rec.showAlways)
|
||||||
|
|
||||||
|
for (const circ of arrcircnaz) {
|
||||||
|
circ.account = userStore.my.profile.useraccounts.find((rec: IAccount) => rec.circuitId === circ._id)
|
||||||
|
}
|
||||||
|
|
||||||
|
return arrcircnaz
|
||||||
|
},
|
||||||
|
|
||||||
IsNationalAndNotEnterInLocal(circuitname: string): boolean {
|
IsNationalAndNotEnterInLocal(circuitname: string): boolean {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
|
|
||||||
@@ -99,6 +110,7 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
SonoDentroAdAlmeno1CircuitoConFido() {
|
SonoDentroAdAlmeno1CircuitoConFido() {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
|
|
||||||
|
if (userStore.my.profile.useraccounts) {
|
||||||
const accountsConFido = userStore.my.profile.useraccounts.filter((rec: IAccount) => rec.fidoConcesso > 0)
|
const accountsConFido = userStore.my.profile.useraccounts.filter((rec: IAccount) => rec.fidoConcesso > 0)
|
||||||
|
|
||||||
for (const account of accountsConFido) {
|
for (const account of accountsConFido) {
|
||||||
@@ -107,6 +119,7 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
return mycircuit
|
return mycircuit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null
|
return null
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export const costanti = {
|
|||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
title: ' Beni ',
|
title: ' Beni ',
|
||||||
subtitle: 'Autoproduzioni, artigianato, cibo, abbigliamento, attrezzature, arredamento',
|
subtitle: 'Autoproduzioni, artigianato, cibo, abbigliamento',
|
||||||
strsingolo: 'Bene',
|
strsingolo: 'Bene',
|
||||||
to: '/goods',
|
to: '/goods',
|
||||||
icon: 'fas fa-tshirt',
|
icon: 'fas fa-tshirt',
|
||||||
@@ -118,7 +118,7 @@ export const costanti = {
|
|||||||
visible: true,
|
visible: true,
|
||||||
strsingolo: 'Servizio',
|
strsingolo: 'Servizio',
|
||||||
title: 'Servizi',
|
title: 'Servizi',
|
||||||
subtitle: 'Competenze, formazione, aiuti, benessere, salute, casa, riparazioni',
|
subtitle: 'Competenze, formazione, aiuti, benessere, casa',
|
||||||
to: '/services',
|
to: '/services',
|
||||||
icon: 'fas fa-house-user',
|
icon: 'fas fa-house-user',
|
||||||
color: 'red-6',
|
color: 'red-6',
|
||||||
@@ -131,7 +131,7 @@ export const costanti = {
|
|||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
title: 'Ospitalità',
|
title: 'Ospitalità',
|
||||||
subtitle: 'Conosci persone nuove, ospita viaggiatori o esplora tu nuovi paesi',
|
subtitle: 'Ospitare per brevi periodi, esplora altre città',
|
||||||
strsingolo: 'Ospitalità',
|
strsingolo: 'Ospitalità',
|
||||||
to: '/hosps',
|
to: '/hosps',
|
||||||
icon: 'fas fa-bed',
|
icon: 'fas fa-bed',
|
||||||
@@ -160,7 +160,7 @@ export const costanti = {
|
|||||||
visible: false,
|
visible: false,
|
||||||
title: 'Circuiti RIS',
|
title: 'Circuiti RIS',
|
||||||
strsingolo: 'Circuito',
|
strsingolo: 'Circuito',
|
||||||
subtitle: 'Unisciti al circuito della tua provincia per utilizzare <strong>i RIS come strumento di scambio</strong>',
|
subtitle: 'Strumento di scambio alternativa alle monete',
|
||||||
to: '/circuits',
|
to: '/circuits',
|
||||||
table: 'circuits',
|
table: 'circuits',
|
||||||
icon: 'fas fa-coins',
|
icon: 'fas fa-coins',
|
||||||
@@ -175,7 +175,7 @@ export const costanti = {
|
|||||||
visible: false,
|
visible: false,
|
||||||
title: 'Gruppi',
|
title: 'Gruppi',
|
||||||
strsingolo: 'Gruppo',
|
strsingolo: 'Gruppo',
|
||||||
subtitle: 'Conosci gruppi locali, associazioni, progetti, comunità',
|
subtitle: 'Associazioni, progetti, comunità, negozi',
|
||||||
to: '/groups',
|
to: '/groups',
|
||||||
table: 'mygroups',
|
table: 'mygroups',
|
||||||
icon: 'fas fa-users',
|
icon: 'fas fa-users',
|
||||||
@@ -189,7 +189,7 @@ export const costanti = {
|
|||||||
visible: true,
|
visible: true,
|
||||||
title: 'Eventi',
|
title: 'Eventi',
|
||||||
strsingolo: 'Evento',
|
strsingolo: 'Evento',
|
||||||
subtitle: 'Mercatini, incontri, conferenze, corsi formativi, feste e divertimento',
|
subtitle: 'Mercatini, incontri, conferenze, corsi',
|
||||||
to: '/events',
|
to: '/events',
|
||||||
icon: 'event',
|
icon: 'event',
|
||||||
color: 'green-6',
|
color: 'green-6',
|
||||||
|
|||||||
@@ -396,6 +396,13 @@ export const colTabledepartments = [
|
|||||||
AddCol(DuplicateRec),
|
AddCol(DuplicateRec),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
export const colTablecategories = [
|
||||||
|
AddCol({ name: 'name', label_trans: 'categories.name' }),
|
||||||
|
AddCol({ name: 'img', label_trans: 'categories.img' }),
|
||||||
|
AddCol(DeleteRec),
|
||||||
|
AddCol(DuplicateRec),
|
||||||
|
]
|
||||||
|
|
||||||
export const colTableStorehouse = [
|
export const colTableStorehouse = [
|
||||||
AddCol({ name: 'name', label_trans: 'store.name' }),
|
AddCol({ name: 'name', label_trans: 'store.name' }),
|
||||||
AddCol({ name: 'description', label_trans: 'store.description' }),
|
AddCol({ name: 'description', label_trans: 'store.description' }),
|
||||||
@@ -1924,7 +1931,12 @@ export const colTableProducts = [
|
|||||||
jointable: 'departments',
|
jointable: 'departments',
|
||||||
}),
|
}),
|
||||||
// AddCol({ name: 'department', label_trans: 'products.department' }),
|
// AddCol({ name: 'department', label_trans: 'products.department' }),
|
||||||
AddCol({ name: 'category', label_trans: 'products.category' }),
|
AddCol({
|
||||||
|
name: 'category',
|
||||||
|
label_trans: 'products.category',
|
||||||
|
fieldtype: costanti.FieldType.multiselect,
|
||||||
|
jointable: 'categorys',
|
||||||
|
}),
|
||||||
AddCol({ name: 'price', label_trans: 'products.price', fieldtype: costanti.FieldType.number }),
|
AddCol({ name: 'price', label_trans: 'products.price', fieldtype: costanti.FieldType.number }),
|
||||||
AddCol({ name: 'after_price', label_trans: 'products.after_price' }),
|
AddCol({ name: 'after_price', label_trans: 'products.after_price' }),
|
||||||
AddCol({ name: 'color', label_trans: 'products.color' }),
|
AddCol({ name: 'color', label_trans: 'products.color' }),
|
||||||
@@ -1937,6 +1949,8 @@ export const colTableProducts = [
|
|||||||
AddCol({ name: 'canBeShipped', label_trans: 'products.canBeShipped', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'canBeShipped', label_trans: 'products.canBeShipped', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'canBeBuyOnline', label_trans: 'products.canBeBuyOnline', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'canBeBuyOnline', label_trans: 'products.canBeBuyOnline', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'weight', label_trans: 'products.weight', fieldtype: costanti.FieldType.number }),
|
AddCol({ name: 'weight', label_trans: 'products.weight', fieldtype: costanti.FieldType.number }),
|
||||||
|
AddCol({ name: 'unit', label_trans: 'products.unit',
|
||||||
|
fieldtype: costanti.FieldType.select, jointable: 'units', }),
|
||||||
AddCol({ name: 'stars', label_trans: 'products.stars', fieldtype: costanti.FieldType.number }),
|
AddCol({ name: 'stars', label_trans: 'products.stars', fieldtype: costanti.FieldType.number }),
|
||||||
AddCol({ name: 'date', label_trans: 'products.date', fieldtype: costanti.FieldType.date }),
|
AddCol({ name: 'date', label_trans: 'products.date', fieldtype: costanti.FieldType.date }),
|
||||||
AddCol(DeleteRec),
|
AddCol(DeleteRec),
|
||||||
@@ -3466,6 +3480,13 @@ export const fieldsTable = {
|
|||||||
colkey: 'username',
|
colkey: 'username',
|
||||||
collabel: 'name',
|
collabel: 'name',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 'categorys',
|
||||||
|
label: 'Categorie',
|
||||||
|
columns: colTablecategories,
|
||||||
|
colkey: '_id',
|
||||||
|
collabel: 'name',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 'storehouses',
|
value: 'storehouses',
|
||||||
label: 'Magazzini',
|
label: 'Magazzini',
|
||||||
@@ -4033,6 +4054,15 @@ export const fieldsTable = {
|
|||||||
colicon: 'icon',
|
colicon: 'icon',
|
||||||
noshow: true,
|
noshow: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: toolsext.TABUNITS,
|
||||||
|
label: 'Unità di Misura',
|
||||||
|
columns: colTableGeneric,
|
||||||
|
colkey: 'value',
|
||||||
|
collabel: 'label',
|
||||||
|
colicon: 'icon',
|
||||||
|
noshow: true,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3719,6 +3719,14 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isVerifiedByUser(user: IUserFields) {
|
||||||
|
try {
|
||||||
|
return user.verified_by_aportador
|
||||||
|
} catch (e) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
addMinutes(mydate: Date, minutes: number) {
|
addMinutes(mydate: Date, minutes: number) {
|
||||||
return date.addToDate(mydate, { minutes })
|
return date.addToDate(mydate, { minutes })
|
||||||
},
|
},
|
||||||
@@ -5560,6 +5568,31 @@ export const tools = {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
addToMyTrust($q: any, username: string, usernameDest: string, value: boolean) {
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const notifStore = useNotifStore()
|
||||||
|
$q.dialog({
|
||||||
|
message: t(value ? 'db.domanda_trusted' : 'db.domanda_reject', { username: usernameDest }),
|
||||||
|
ok: { label: t('dialog.yes'), push: true },
|
||||||
|
cancel: { label: t('dialog.cancel') },
|
||||||
|
title: t('db.domanda')
|
||||||
|
}).onOk(() => {
|
||||||
|
|
||||||
|
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.SETTRUST, value)
|
||||||
|
.then((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
userStore.my.profile.userstoverify = userStore.my.profile.userstoverify.filter((rec: any) => rec.username !== usernameDest)
|
||||||
|
|
||||||
|
if (value)
|
||||||
|
tools.showPositiveNotif($q, t('db.trusted', {username: usernameDest}))
|
||||||
|
else
|
||||||
|
tools.showNegativeNotif($q, t('db.rejected', {username: usernameDest}))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
removeFromMyFriends($q: any, username: string, usernameDest: string) {
|
removeFromMyFriends($q: any, username: string, usernameDest: string) {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
|
|
||||||
@@ -6437,7 +6470,7 @@ export const tools = {
|
|||||||
if (res.useraccounts && res.useraccounts.length > 0) {
|
if (res.useraccounts && res.useraccounts.length > 0) {
|
||||||
userStore.my.profile.useraccounts = res.useraccounts
|
userStore.my.profile.useraccounts = res.useraccounts
|
||||||
}
|
}
|
||||||
$router.push('/circuit')
|
$router.push('/circuits')
|
||||||
tools.showPositiveNotif($q, t('circuit.coins_sendrequest_sent'))
|
tools.showPositiveNotif($q, t('circuit.coins_sendrequest_sent'))
|
||||||
} else {
|
} else {
|
||||||
tools.showNegativeNotif($q, res.errormsg)
|
tools.showNegativeNotif($q, res.errormsg)
|
||||||
@@ -6854,6 +6887,8 @@ export const tools = {
|
|||||||
tools.blockUser($q, username, dest)
|
tools.blockUser($q, username, dest)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
||||||
tools.addToMyFriends($q, username, dest)
|
tools.addToMyFriends($q, username, dest)
|
||||||
|
} else if (cmd === shared_consts.FRIENDSCMD.SETTRUST) {
|
||||||
|
tools.addToMyTrust($q, username, dest, value)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
|
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
|
||||||
tools.setRequestFriendship($q, username, dest, value)
|
tools.setRequestFriendship($q, username, dest, value)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
||||||
@@ -8196,6 +8231,12 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getUnitsMeasure(unit: number, short: boolean) {
|
||||||
|
const unitrec = shared_consts.Units_Of_Measure_ListBox.find((rec: any) => rec.value === unit)
|
||||||
|
return unitrec ? (short ? unitrec.short : unitrec.label) : ''
|
||||||
|
},
|
||||||
|
|
||||||
isPartecipero(myrec: any) {
|
isPartecipero(myrec: any) {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
if (myrec && myrec.mybookings && myrec.mybookings.length > 0) {
|
if (myrec && myrec.mybookings && myrec.mybookings.length > 0) {
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ export const toolsext = {
|
|||||||
TABPREF: 'hosps_preferences',
|
TABPREF: 'hosps_preferences',
|
||||||
TABPEOPLE: 'people',
|
TABPEOPLE: 'people',
|
||||||
TABCIRCUITS: 'circuits',
|
TABCIRCUITS: 'circuits',
|
||||||
|
TABUNITS: 'units',
|
||||||
SERVKEY_VERS: 'vers',
|
SERVKEY_VERS: 'vers',
|
||||||
|
|
||||||
ERR_GENERICO: -1,
|
ERR_GENERICO: -1,
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ export const useProducts = defineStore('Products', {
|
|||||||
canBeShipped: false,
|
canBeShipped: false,
|
||||||
canBeBuyOnline: false,
|
canBeBuyOnline: false,
|
||||||
weight: 0,
|
weight: 0,
|
||||||
|
unit: 0,
|
||||||
stars: 0,
|
stars: 0,
|
||||||
date: tools.getDateNow(),
|
date: tools.getDateNow(),
|
||||||
icon: '',
|
icon: '',
|
||||||
@@ -214,8 +215,6 @@ export const useProducts = defineStore('Products', {
|
|||||||
if (!globalStore.site.confpages.enableEcommerce)
|
if (!globalStore.site.confpages.enableEcommerce)
|
||||||
return null
|
return null
|
||||||
|
|
||||||
console.log('loadOrders', 'userid=', userStore.my._id)
|
|
||||||
|
|
||||||
// if (userStore.my._id === '') {
|
// if (userStore.my._id === '') {
|
||||||
// return new Types.AxiosError(0, null, 0, '')
|
// return new Types.AxiosError(0, null, 0, '')
|
||||||
// }
|
// }
|
||||||
@@ -239,7 +238,6 @@ export const useProducts = defineStore('Products', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// ApiTables.aftercalling(ris, checkPending, 'categories')
|
// ApiTables.aftercalling(ris, checkPending, 'categories')
|
||||||
|
|
||||||
return ris
|
return ris
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ export const DefaultUser: IUserFields = {
|
|||||||
last_circuitpath: '',
|
last_circuitpath: '',
|
||||||
lastdate_reqRis: tools.getLastDateReadReset(),
|
lastdate_reqRis: tools.getLastDateReadReset(),
|
||||||
manage_mygroups: [],
|
manage_mygroups: [],
|
||||||
|
userstoverify: [],
|
||||||
asked_friends: [],
|
asked_friends: [],
|
||||||
asked_groups: [],
|
asked_groups: [],
|
||||||
refused_groups: [],
|
refused_groups: [],
|
||||||
@@ -155,6 +156,7 @@ export const DefaultProfile: IUserProfile = {
|
|||||||
mycircuits: [],
|
mycircuits: [],
|
||||||
last_circuitpath: '',
|
last_circuitpath: '',
|
||||||
manage_mygroups: [],
|
manage_mygroups: [],
|
||||||
|
userstoverify: [],
|
||||||
asked_friends: [],
|
asked_friends: [],
|
||||||
asked_groups: [],
|
asked_groups: [],
|
||||||
refused_groups: [],
|
refused_groups: [],
|
||||||
@@ -315,6 +317,16 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getUsersToVerify(): any[] {
|
||||||
|
try {
|
||||||
|
const arr: any = this.my.profile.userstoverify
|
||||||
|
return arr
|
||||||
|
} catch (e) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
hoContiComunitariDaAmministrare(): boolean {
|
hoContiComunitariDaAmministrare(): boolean {
|
||||||
try {
|
try {
|
||||||
const arr: any = this.my.profile.manage_mygroups.filter((group: IMyGroup) => (group.mycircuits!.length > 0))
|
const arr: any = this.my.profile.manage_mygroups.filter((group: IMyGroup) => (group.mycircuits!.length > 0))
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import { useMessageStore } from './MessageStore'
|
|||||||
import { useNotifStore } from '@store/NotifStore'
|
import { useNotifStore } from '@store/NotifStore'
|
||||||
import { useCircuitStore } from '@store/CircuitStore'
|
import { useCircuitStore } from '@store/CircuitStore'
|
||||||
import { routesAdmin } from '@src/router/routesAdmin'
|
import { routesAdmin } from '@src/router/routesAdmin'
|
||||||
|
import { routesECommerce } from '@src/router/routesECommerce'
|
||||||
import LandingFooter from '@src/components/LandingFooter/LandingFooter'
|
import LandingFooter from '@src/components/LandingFooter/LandingFooter'
|
||||||
|
|
||||||
|
|
||||||
@@ -120,6 +121,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
workers: [],
|
workers: [],
|
||||||
storehouses: [],
|
storehouses: [],
|
||||||
departments: [],
|
departments: [],
|
||||||
|
categories: [],
|
||||||
sharewithus: [],
|
sharewithus: [],
|
||||||
TIMER: null,
|
TIMER: null,
|
||||||
TIMEOUT: null,
|
TIMEOUT: null,
|
||||||
@@ -300,6 +302,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
else if (table === 'resps') ris = state.resps
|
else if (table === 'resps') ris = state.resps
|
||||||
else if (table === 'workers') ris = state.workers
|
else if (table === 'workers') ris = state.workers
|
||||||
else if (table === 'departments') ris = state.departments
|
else if (table === 'departments') ris = state.departments
|
||||||
|
else if (table === 'categorys') ris = state.categories
|
||||||
else if (table === 'sharewithus') ris = state.sharewithus
|
else if (table === 'sharewithus') ris = state.sharewithus
|
||||||
else if (table === 'paymenttypes') ris = state.paymenttypes
|
else if (table === 'paymenttypes') ris = state.paymenttypes
|
||||||
else if (table === 'circuits') ris = circuitStore.listcircuits
|
else if (table === 'circuits') ris = circuitStore.listcircuits
|
||||||
@@ -488,6 +491,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
const baseroutes = static_data.getDynamicPages(this.site);
|
const baseroutes = static_data.getDynamicPages(this.site);
|
||||||
|
|
||||||
const adminRoutes = routesAdmin.routesAd(this.site);
|
const adminRoutes = routesAdmin.routesAd(this.site);
|
||||||
|
const ecommRoutes = routesECommerce.routesEcomm(this.site);
|
||||||
|
|
||||||
const last = {
|
const last = {
|
||||||
active: true,
|
active: true,
|
||||||
@@ -516,7 +520,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
if (!toolsext.sito_online(false)) {
|
if (!toolsext.sito_online(false)) {
|
||||||
static_data.routes = [sito_offline, last]
|
static_data.routes = [sito_offline, last]
|
||||||
} else {
|
} else {
|
||||||
static_data.routes = [...baseroutes, ...adminRoutes, ...arrpagesroute, last]
|
static_data.routes = [...baseroutes, ...ecommRoutes, ...adminRoutes, ...arrpagesroute, last]
|
||||||
}
|
}
|
||||||
|
|
||||||
/*for (const menu of static_data.routes) {
|
/*for (const menu of static_data.routes) {
|
||||||
@@ -1512,6 +1516,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
this.resps = (res.data.resps) ? [...res.data.resps] : []
|
this.resps = (res.data.resps) ? [...res.data.resps] : []
|
||||||
this.workers = (res.data.workers) ? [...res.data.workers] : []
|
this.workers = (res.data.workers) ? [...res.data.workers] : []
|
||||||
this.departments = (res.data.departments) ? [...res.data.departments] : []
|
this.departments = (res.data.departments) ? [...res.data.departments] : []
|
||||||
|
this.categories = (res.data.categories) ? [...res.data.categories] : []
|
||||||
this.levels = (res.data.levels) ? [...res.data.levels] : []
|
this.levels = (res.data.levels) ? [...res.data.levels] : []
|
||||||
this.skills = (res.data.skills) ? [...res.data.skills] : []
|
this.skills = (res.data.skills) ? [...res.data.skills] : []
|
||||||
this.goods = (res.data.goods) ? [...res.data.goods] : []
|
this.goods = (res.data.goods) ? [...res.data.goods] : []
|
||||||
@@ -1793,6 +1798,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
else if (table === toolsext.TABTYPEACCOM) myarr = shared_consts.TypeAccom
|
else if (table === toolsext.TABTYPEACCOM) myarr = shared_consts.TypeAccom
|
||||||
else if (table === toolsext.TABLOCACCOM) myarr = shared_consts.LocationAccom
|
else if (table === toolsext.TABLOCACCOM) myarr = shared_consts.LocationAccom
|
||||||
else if (table === toolsext.TABPREF) myarr = shared_consts.Preferences
|
else if (table === toolsext.TABPREF) myarr = shared_consts.Preferences
|
||||||
|
else if (table === toolsext.TABUNITS) myarr = shared_consts.Units_Of_Measure_ListBox
|
||||||
else if (table === 'usernotifs') myarr = shared_consts.UsersNotif_Adv_List
|
else if (table === 'usernotifs') myarr = shared_consts.UsersNotif_Adv_List
|
||||||
else if (table === 'typenotifs') myarr = shared_consts.TypeNotifs_Arr
|
else if (table === 'typenotifs') myarr = shared_consts.TypeNotifs_Arr
|
||||||
else myarr = this.getListByTable(table)
|
else myarr = this.getListByTable(table)
|
||||||
|
|||||||
5
src/views/ecommerce/cartList/cartList.scss
Executable file
5
src/views/ecommerce/cartList/cartList.scss
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
$heightBtn: 100%;
|
||||||
|
|
||||||
|
.card .product-image {
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
59
src/views/ecommerce/cartList/cartList.ts
Executable file
59
src/views/ecommerce/cartList/cartList.ts
Executable file
@@ -0,0 +1,59 @@
|
|||||||
|
import { defineComponent, onMounted, ref } from 'vue'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useProducts } from '@store/Products'
|
||||||
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
|
import { useQuasar } from 'quasar'
|
||||||
|
import { costanti } from '@costanti'
|
||||||
|
|
||||||
|
import { CProductCard } from '@src/components/CProductCard'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CartList',
|
||||||
|
components: { CProductCard },
|
||||||
|
filters: {
|
||||||
|
capitalize(value: any) {
|
||||||
|
if (!value) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
value = value.toString()
|
||||||
|
return value.charAt(0).toUpperCase() + value.slice(1)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {},
|
||||||
|
setup() {
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
const productStore = useProducts()
|
||||||
|
const $router = useRouter()
|
||||||
|
const $q = useQuasar()
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
function getCart() {
|
||||||
|
return productStore.getCart()
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProducts() {
|
||||||
|
return productStore.getProducts()
|
||||||
|
}
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
// Inizializza
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
|
return {
|
||||||
|
userStore,
|
||||||
|
costanti,
|
||||||
|
tools,
|
||||||
|
toolsext,
|
||||||
|
getCart,
|
||||||
|
getProducts,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
21
src/views/ecommerce/cartList/cartList.vue
Executable file
21
src/views/ecommerce/cartList/cartList.vue
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<q-page>
|
||||||
|
<div class="panel">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="q-pa-md row items-start q-gutter-md" v-for="(product, index) in getProducts()" :key="index">
|
||||||
|
<CProductCard :product="product"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./cartList.ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './cartList';
|
||||||
|
</style>
|
||||||
1
src/views/ecommerce/cartList/index.ts
Executable file
1
src/views/ecommerce/cartList/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export {default as CartList} from './cartList.vue'
|
||||||
5
src/views/ecommerce/checkOut/checkOut.scss
Executable file
5
src/views/ecommerce/checkOut/checkOut.scss
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
$heightBtn: 100%;
|
||||||
|
|
||||||
|
.card .product-image {
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
183
src/views/ecommerce/checkOut/checkOut.ts
Executable file
183
src/views/ecommerce/checkOut/checkOut.ts
Executable file
@@ -0,0 +1,183 @@
|
|||||||
|
import { defineComponent, onMounted, ref } from 'vue'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useProducts } from '@store/Products'
|
||||||
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
|
import { useQuasar } from 'quasar'
|
||||||
|
import { costanti } from '@costanti'
|
||||||
|
import { ICart, IOrderCart, IShareWithUs } from '@src/model/Products'
|
||||||
|
|
||||||
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
|
|
||||||
|
import { CSingleCart } from '../../../components/CSingleCart'
|
||||||
|
import { CTitleBanner } from '@components'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'checkOut',
|
||||||
|
components: { CSingleCart, CTitleBanner },
|
||||||
|
props: {},
|
||||||
|
setup() {
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
const productStore = useProducts()
|
||||||
|
const $router = useRouter()
|
||||||
|
const $q = useQuasar()
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
const mycart = ref(<ICart>{})
|
||||||
|
const myrec = ref(<any[string]>[])
|
||||||
|
const oldrec = ref(<any[string]>[])
|
||||||
|
const note = ref('')
|
||||||
|
const statusnow = ref(shared_consts.OrderStatus.NONE)
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
// Inizializza
|
||||||
|
load()
|
||||||
|
}
|
||||||
|
|
||||||
|
function getItemsCart() {
|
||||||
|
const cart = productStore.getCart()
|
||||||
|
return cart.items || null
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNumItems(): number {
|
||||||
|
const cart = productStore.getCart()
|
||||||
|
if (!!cart.items)
|
||||||
|
return cart.items.length || 0
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCart(): ICart {
|
||||||
|
return productStore.getCart()
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNote() {
|
||||||
|
const cart = productStore.getCart()
|
||||||
|
return cart.note
|
||||||
|
}
|
||||||
|
|
||||||
|
function change_field(fieldname: string) {
|
||||||
|
if (myrec.value[fieldname] !== oldrec.value[fieldname]) {
|
||||||
|
myrec.value[fieldname] = oldrec.value[fieldname]
|
||||||
|
|
||||||
|
const mydata = {
|
||||||
|
[fieldname]: myrec.value[fieldname]
|
||||||
|
}
|
||||||
|
|
||||||
|
const aggiorna = fieldname !== 'status'
|
||||||
|
tools.saveFieldToServer($q, 'carts', mycart.value._id, mydata, aggiorna)
|
||||||
|
oldrec.value[fieldname] = myrec.value[fieldname]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function myTotalPrice(): string {
|
||||||
|
if (productStore.cart && productStore.cart.totalPrice) {
|
||||||
|
return productStore.cart.totalPrice.toFixed(2)
|
||||||
|
} else {
|
||||||
|
return '0'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function myTotalQty(): number {
|
||||||
|
if (productStore.cart) {
|
||||||
|
return productStore.cart.totalQty!
|
||||||
|
} else {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function load() {
|
||||||
|
mycart.value = getCart()
|
||||||
|
myrec.value = Object.keys(mycart)
|
||||||
|
oldrec.value = myrec.value
|
||||||
|
note.value = mycart.value.note!
|
||||||
|
|
||||||
|
if (mycart.value)
|
||||||
|
statusnow.value = await productStore.UpdateStatusCart({ cart_id: mycart.value._id, status: 0 })
|
||||||
|
|
||||||
|
console.log('myrec', myrec.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
function CanBeShipped() {
|
||||||
|
return productStore.cart.items ? productStore.cart.items.filter((rec: any) => rec.order.product.canBeShipped).length : false
|
||||||
|
}
|
||||||
|
|
||||||
|
function CanBeBuyOnline() {
|
||||||
|
return productStore.cart.items ? productStore.cart.items.filter((rec: any) => rec.order.product.canBeBuyOnline).length : false
|
||||||
|
}
|
||||||
|
|
||||||
|
function getnumsteps() {
|
||||||
|
let numsteps = 1
|
||||||
|
|
||||||
|
if (CanBeShipped())
|
||||||
|
numsteps++
|
||||||
|
if (CanBeBuyOnline())
|
||||||
|
numsteps++
|
||||||
|
|
||||||
|
return numsteps
|
||||||
|
}
|
||||||
|
|
||||||
|
function docheckout() {
|
||||||
|
|
||||||
|
// Può essere spedito?
|
||||||
|
|
||||||
|
if (CanBeShipped()) {
|
||||||
|
// mostra form di spedizione
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CanBeBuyOnline()) {
|
||||||
|
// mostra form di acquisto Online
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function completeOrder() {
|
||||||
|
$q.dialog({
|
||||||
|
message: 'Confermare l\'ordine di acquisto di ' + myTotalQty() + ' prodotti ?',
|
||||||
|
ok: {
|
||||||
|
label: t('dialog.yes'),
|
||||||
|
push: true
|
||||||
|
},
|
||||||
|
cancel: {
|
||||||
|
label: t('dialog.cancel')
|
||||||
|
},
|
||||||
|
title: 'Ordine'
|
||||||
|
}).onOk(async () => {
|
||||||
|
const status = shared_consts.OrderStatus.CHECKOUT_SENT
|
||||||
|
statusnow.value = await productStore.UpdateStatusCart({ cart_id: mycart.value._id, status })
|
||||||
|
|
||||||
|
if (statusnow.value === status) {
|
||||||
|
tools.showPositiveNotif($q, 'Ordine Confermato')
|
||||||
|
setTimeout(() => {
|
||||||
|
$router.push('/orderinfo')
|
||||||
|
}, 2000)
|
||||||
|
}
|
||||||
|
// change_field('status')
|
||||||
|
// change_field('status')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
|
return {
|
||||||
|
userStore,
|
||||||
|
costanti,
|
||||||
|
tools,
|
||||||
|
toolsext,
|
||||||
|
completeOrder,
|
||||||
|
getNumItems,
|
||||||
|
myTotalPrice,
|
||||||
|
getItemsCart,
|
||||||
|
getNote,
|
||||||
|
change_field,
|
||||||
|
note,
|
||||||
|
statusnow,
|
||||||
|
shared_consts,
|
||||||
|
myTotalQty,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
44
src/views/ecommerce/checkOut/checkOut.vue
Executable file
44
src/views/ecommerce/checkOut/checkOut.vue
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<q-page>
|
||||||
|
<CTitleBanner title="Carrello"></CTitleBanner>
|
||||||
|
<div class="panel">
|
||||||
|
<div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="q-pa-sm col items-start q-gutter-xs" v-for="(itemorder, index) in getItemsCart()" :key="index">
|
||||||
|
|
||||||
|
<CSingleCart :order="itemorder.order" :showall="true"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<q-separator></q-separator>
|
||||||
|
<div class="col-6 q-mr-sm" style="text-align: right">
|
||||||
|
<span class="text-grey q-mr-xs">Totale:</span> <span
|
||||||
|
class="text-subtitle1 q-mr-sm ">€ {{ (myTotalPrice()) }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-input v-if="getNumItems() > 0" v-model="note" style="max-width: 400px;" label="Scrivi qui per eventuali note o chiarimenti:"
|
||||||
|
filled dense
|
||||||
|
debounce="1000"
|
||||||
|
autogrow
|
||||||
|
@input="change_field('note')">
|
||||||
|
</q-input>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-stepper-navigation>
|
||||||
|
<q-btn v-if="statusnow < shared_consts.OrderStatus.CHECKOUT_SENT" rounded icon="fas fa-shopping-cart" color="green" label="Completa l'Ordine" class="q-mb-sm"
|
||||||
|
:disabled="myTotalQty() < 1"
|
||||||
|
@click="completeOrder"></q-btn>
|
||||||
|
</q-stepper-navigation>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</q-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./checkOut.ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './checkOut';
|
||||||
|
</style>
|
||||||
1
src/views/ecommerce/checkOut/index.ts
Executable file
1
src/views/ecommerce/checkOut/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export {default as checkOut} from './checkOut.vue'
|
||||||
1
src/views/ecommerce/index.ts
Executable file
1
src/views/ecommerce/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export * from './productsList'
|
||||||
1
src/views/ecommerce/orderInfo/index.ts
Executable file
1
src/views/ecommerce/orderInfo/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export {default as orderInfo} from './orderInfo.vue'
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user