Compare commits
15 Commits
SubAccount
...
Ecommerce
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b4cbe153b | ||
|
|
cec0b4857f | ||
|
|
1e8f58b930 | ||
|
|
8ae63c3357 | ||
|
|
fada2ec2be | ||
|
|
594fdcbee4 | ||
|
|
8f9028ddba | ||
|
|
e752c406dc | ||
|
|
7a202fbe8e | ||
|
|
0e6a350f4e | ||
|
|
b9d451bd49 | ||
|
|
316ebbb78b | ||
|
|
d31a5e88ec | ||
|
|
f094af396b | ||
|
|
1ee08b57ab |
28137
package-lock.json
generated
@@ -70,7 +70,6 @@
|
|||||||
"vue-scroll-reveal": "^1.0.11",
|
"vue-scroll-reveal": "^1.0.11",
|
||||||
"vue-svgicon": "^3.1.0",
|
"vue-svgicon": "^3.1.0",
|
||||||
"vue-tel-input": "^4.1.1",
|
"vue-tel-input": "^4.1.1",
|
||||||
"vue2-dragula": "^2.5.4",
|
|
||||||
"vuelidate": "^0.7.4",
|
"vuelidate": "^0.7.4",
|
||||||
"vuex": "^3.0.1",
|
"vuex": "^3.0.1",
|
||||||
"vuex-class": "^0.3.1",
|
"vuex-class": "^0.3.1",
|
||||||
@@ -94,7 +93,7 @@
|
|||||||
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
||||||
"@babel/preset-env": "^7.4.2",
|
"@babel/preset-env": "^7.4.2",
|
||||||
"@quasar/app": "1.5.2",
|
"@quasar/app": "1.5.2",
|
||||||
"@quasar/quasar-app-extension-qcalendar": "^1.3.14",
|
"@quasar/quasar-app-extension-qcalendar": "^2.0.0",
|
||||||
"@quasar/quasar-app-extension-qmediaplayer": "^1.0.17",
|
"@quasar/quasar-app-extension-qmediaplayer": "^1.0.17",
|
||||||
"@quasar/quasar-app-extension-qscroller": "1.0.5",
|
"@quasar/quasar-app-extension-qscroller": "1.0.5",
|
||||||
"@quasar/quasar-app-extension-typescript": "^1.0.0-alpha.11",
|
"@quasar/quasar-app-extension-typescript": "^1.0.0-alpha.11",
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ module.exports = function (ctx) {
|
|||||||
store: 'src/store/index.ts'
|
store: 'src/store/index.ts'
|
||||||
},
|
},
|
||||||
// app plugins (/src/plugins)
|
// app plugins (/src/plugins)
|
||||||
|
// app plugins (/src/plugins)
|
||||||
boot: [
|
boot: [
|
||||||
{ path: 'vue-i18n', server: true, client: true },
|
{ path: 'vue-i18n', server: true, client: true },
|
||||||
{ path: 'vue-meta', server: true, client: true },
|
{ path: 'vue-meta', server: true, client: true },
|
||||||
@@ -104,6 +105,7 @@ module.exports = function (ctx) {
|
|||||||
{ path: 'error-handler', server: true, client: true },
|
{ path: 'error-handler', server: true, client: true },
|
||||||
{ path: 'globalroutines', server: true, client: true },
|
{ path: 'globalroutines', server: true, client: true },
|
||||||
{ path: 'vue-idb', server: true, client: true },
|
{ path: 'vue-idb', server: true, client: true },
|
||||||
|
// { path: 'dragula', server: true, client: true },
|
||||||
{ path: 'guard', server: true, client: true },
|
{ path: 'guard', server: true, client: true },
|
||||||
{ path: 'vuetelinput', server: true, client: true },
|
{ path: 'vuetelinput', server: true, client: true },
|
||||||
{ path: 'mycharts', server: true, client: true }],
|
{ path: 'mycharts', server: true, client: true }],
|
||||||
@@ -166,6 +168,8 @@ module.exports = function (ctx) {
|
|||||||
framework: {
|
framework: {
|
||||||
components: [
|
components: [
|
||||||
'QLayout',
|
'QLayout',
|
||||||
|
'QBreadcrumbs',
|
||||||
|
'QBreadcrumbsEl',
|
||||||
'QDrawer',
|
'QDrawer',
|
||||||
'QItemSection',
|
'QItemSection',
|
||||||
'QHeader',
|
'QHeader',
|
||||||
@@ -306,12 +310,17 @@ module.exports = function (ctx) {
|
|||||||
background_color: '#ffffff',
|
background_color: '#ffffff',
|
||||||
icons: [
|
icons: [
|
||||||
{
|
{
|
||||||
'src': 'statics/icons/android-chrome-192x192.png',
|
'src': 'statics/icons/android-chrome-36x36.png',
|
||||||
'sizes': '192x192',
|
'sizes': '36x36',
|
||||||
'type': 'image/png'
|
'type': 'image/png'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'src': 'statics/icons/android-chrome-512x512',
|
'src': 'statics/icons/android-chrome-96x96.png',
|
||||||
|
'sizes': '96x96',
|
||||||
|
'type': 'image/png'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'src': 'statics/icons/android-chrome-512x512.png',
|
||||||
'sizes': '512x512',
|
'sizes': '512x512',
|
||||||
'type': 'image/png'
|
'type': 'image/png'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// Questo è il swSrc
|
// Questo è il swSrc
|
||||||
|
|
||||||
console.log(' [ VER-0.0.62 ] _---------________------ PAO: this is my custom service worker');
|
console.log(' [ VER-0.0.83 ] _---------________------ PAO: this is my custom service worker');
|
||||||
|
|
||||||
importScripts('../statics/js/idb.js');
|
importScripts('../statics/js/idb.js');
|
||||||
importScripts('../statics/js/storage.js');
|
importScripts('../statics/js/storage.js');
|
||||||
@@ -23,7 +23,7 @@ if (self.location.hostname.startsWith('test')) {
|
|||||||
const cfgenv = {
|
const cfgenv = {
|
||||||
serverweb: self.location.protocol + "//" + self.location.hostname + ':' + port,
|
serverweb: self.location.protocol + "//" + self.location.hostname + ':' + port,
|
||||||
dbname: 'mydb3',
|
dbname: 'mydb3',
|
||||||
dbversion: 11,
|
dbversion: 12,
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log('serverweb', cfgenv.serverweb)
|
// console.log('serverweb', cfgenv.serverweb)
|
||||||
@@ -221,7 +221,11 @@ if (workbox) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
workbox.routing.registerRoute(function (routeData) {
|
workbox.routing.registerRoute(function (routeData) {
|
||||||
return (routeData.event.request.headers.get('accept').includes('text/html'));
|
const myaccept = routeData.event.request.headers.get('accept')
|
||||||
|
if (myaccept)
|
||||||
|
return (myaccept.includes('text/html'));
|
||||||
|
else
|
||||||
|
return null
|
||||||
}, function (args) {
|
}, function (args) {
|
||||||
return caches.match(args.event.request)
|
return caches.match(args.event.request)
|
||||||
.then(function (response) {
|
.then(function (response) {
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ register(process.env.SERVICE_WORKER_FILE, {
|
|||||||
},
|
},
|
||||||
updated(registration) {
|
updated(registration) {
|
||||||
console.log('New content is available; please refresh.')
|
console.log('New content is available; please refresh.')
|
||||||
|
document.dispatchEvent(
|
||||||
|
new CustomEvent('swUpdated', { detail: registration })
|
||||||
|
)
|
||||||
},
|
},
|
||||||
offline() {
|
offline() {
|
||||||
console.log('No internet connection found. App is running in offline mode.')
|
console.log('No internet connection found. App is running in offline mode.')
|
||||||
|
|||||||
139
src/App.scss
@@ -85,7 +85,7 @@ $heightBtn: 100%;
|
|||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 1rem;
|
font-size: 0.9rem;
|
||||||
height: $heightBtn;
|
height: $heightBtn;
|
||||||
line-height: $heightBtn;
|
line-height: $heightBtn;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
@@ -201,6 +201,17 @@ $heightBtn: 100%;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-price {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
font-size: 1.10rem;
|
||||||
|
font-weight: 400;
|
||||||
|
text-shadow: .25 .25rem .5rem $grayshadow;
|
||||||
|
letter-spacing: .00937em;
|
||||||
|
&.big {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.text-subtitle2, h3 {
|
.text-subtitle2, h3 {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
font-size: 1.15rem;
|
font-size: 1.15rem;
|
||||||
@@ -237,6 +248,10 @@ $heightBtn: 100%;
|
|||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-subtitle4 {
|
||||||
|
font-size: 0.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
.cltexth3 {
|
.cltexth3 {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
@@ -247,18 +262,45 @@ $heightBtn: 100%;
|
|||||||
.text-sobig {
|
.text-sobig {
|
||||||
font-size: 1.50rem;
|
font-size: 1.50rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-card {
|
.my-card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 350px;
|
max-width: 300px;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
padding: 1rem 1rem;
|
padding: 1rem 1rem;
|
||||||
|
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.myimgtitle {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
|
||||||
|
width: 400px;
|
||||||
|
|
||||||
|
@media (max-width: 718px) {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 300px;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-card-big {
|
||||||
|
width: 100%;
|
||||||
|
padding: 1rem 1rem;
|
||||||
|
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
|
@media (max-width: 718px) {
|
||||||
|
// PER VERSIONE MOBILE
|
||||||
|
max-width: 400px;
|
||||||
|
padding: 1rem 1rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.text-trans {
|
.text-trans {
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
|
||||||
@@ -726,6 +768,13 @@ $heightBtn: 100%;
|
|||||||
padding: 6px;
|
padding: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clBorderShare {
|
||||||
|
border-radius: 32px;
|
||||||
|
font-size: 1rem;
|
||||||
|
padding: 6px;
|
||||||
|
border: #666cf6 solid 3px;
|
||||||
|
}
|
||||||
|
|
||||||
.clBorderImportant, .clBorderSteps {
|
.clBorderImportant, .clBorderSteps {
|
||||||
border: red solid 5px;
|
border: red solid 5px;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
@@ -783,6 +832,18 @@ $heightBtn: 100%;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.img2 {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
|
||||||
|
max-height: 550px;
|
||||||
|
max-width: 550px;
|
||||||
|
@media (max-width: 718px) {
|
||||||
|
max-height: 350px;
|
||||||
|
max-width: 350px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.center-150 {
|
.center-150 {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
@@ -793,6 +854,10 @@ $heightBtn: 100%;
|
|||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-h8{
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
.bordo_stondato, .bordo_stondato_blu{
|
.bordo_stondato, .bordo_stondato_blu{
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
border-radius: 3rem;
|
border-radius: 3rem;
|
||||||
@@ -885,3 +950,71 @@ $heightBtn: 100%;
|
|||||||
font-size: 0.8rem !important;
|
font-size: 0.8rem !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#mycontainer {
|
||||||
|
min-height:100%;
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
.myheader {
|
||||||
|
padding: 5px;
|
||||||
|
@media (max-width: 500px) {
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#mybody {
|
||||||
|
padding: 5px;
|
||||||
|
@media (max-width: 500px) {
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.myfooter{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconplusminus{
|
||||||
|
font-size: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clpos{
|
||||||
|
color: #C0C0C0;
|
||||||
|
}
|
||||||
|
.clresp{
|
||||||
|
color: #206d24;
|
||||||
|
}
|
||||||
|
.clrespempty{
|
||||||
|
color: #DDDDDD;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.flex-item {
|
||||||
|
padding: 1px;
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-container {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-tab-panel {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-item {
|
||||||
|
padding: 2px 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.underline {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.underline:hover {
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.centeritems{
|
||||||
|
place-content: center;
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ import { Header } from './components/Header'
|
|||||||
import globalroutines from './globalroutines/index'
|
import globalroutines from './globalroutines/index'
|
||||||
import { GlobalStore } from './store/Modules'
|
import { GlobalStore } from './store/Modules'
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
import { toolsext } from '@src/store/Modules/toolsext'
|
||||||
import { BannerCookies, CPreloadImages, CTesseraElettronica } from '@components'
|
import { BannerCookies, CPreloadImages } from '@components'
|
||||||
import { static_data } from '@src/db/static_data'
|
import { static_data } from '@src/db/static_data'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
components: {
|
components: {
|
||||||
appHeader: Header,
|
appHeader: Header,
|
||||||
BannerCookies, CPreloadImages, CTesseraElettronica
|
BannerCookies, CPreloadImages
|
||||||
},
|
},
|
||||||
router
|
router
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,16 +4,43 @@ const msg_website_it = {
|
|||||||
siteshortname: 'CNM',
|
siteshortname: 'CNM',
|
||||||
botname: 'CNM BOT',
|
botname: 'CNM BOT',
|
||||||
},
|
},
|
||||||
|
products: {
|
||||||
|
quantity: 'Quantità',
|
||||||
|
quantityAvailable: 'Disponibili',
|
||||||
|
weight: 'Peso',
|
||||||
|
stars: 'Voto',
|
||||||
|
},
|
||||||
|
hours: {
|
||||||
|
descr: 'Descrizione',
|
||||||
|
date: 'Data',
|
||||||
|
time_start: 'Ora Inizio',
|
||||||
|
time_end: 'Ora Fine',
|
||||||
|
hours: 'Ore',
|
||||||
|
note: 'Note Extra',
|
||||||
|
},
|
||||||
pages: {
|
pages: {
|
||||||
home: 'Home',
|
home: 'Home',
|
||||||
profile: 'Profilo',
|
profile: 'Profilo',
|
||||||
projects: 'Progetti',
|
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: 'Pagamenti',
|
payment: 'Pagamenti',
|
||||||
regok: 'Registrazione Confermata',
|
regok: 'Registrazione Confermata',
|
||||||
presentazione: 'Presentazione',
|
presentazione: 'Presentazione',
|
||||||
presentazione2: 'Presentazione',
|
presentazione2: 'Presentazione',
|
||||||
invita: 'Invita Persone',
|
invita: 'Invita Persone',
|
||||||
SignUp: 'Nuova Registrazione',
|
SignUp: 'Nuova Registrazione',
|
||||||
|
SignUpIscrizione: 'Diventa Socio CNM',
|
||||||
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
||||||
SignUp2: 'Registrazione',
|
SignUp2: 'Registrazione',
|
||||||
SignIn: 'Login',
|
SignIn: 'Login',
|
||||||
@@ -30,19 +57,22 @@ const msg_website_it = {
|
|||||||
Test: 'Test',
|
Test: 'Test',
|
||||||
Category: 'Categorie',
|
Category: 'Categorie',
|
||||||
Admin: 'Admin',
|
Admin: 'Admin',
|
||||||
|
Sites: 'Siti Web',
|
||||||
extralist: 'Lista Extra',
|
extralist: 'Lista Extra',
|
||||||
Test1: 'Test1',
|
Test1: 'Test1',
|
||||||
Test2: 'Test2',
|
Test2: 'Test2',
|
||||||
chisiamo: 'Chi Siamo',
|
chisiamo: 'Chi Siamo',
|
||||||
linkamici: 'Link Amici',
|
linkamici: 'Link Amici',
|
||||||
dovesiamo: 'Dove Siamo',
|
dovesiamo: 'Dove Siamo',
|
||||||
|
calendarioeventi: 'Calendario Eventi',
|
||||||
evento: 'Evento',
|
evento: 'Evento',
|
||||||
eventodef: 'Evento:',
|
eventodef: 'Evento:',
|
||||||
prova: 'prova',
|
prova: 'prova',
|
||||||
dbop: 'Operazioni',
|
dbop: 'Operazioni',
|
||||||
projall: 'Tutti',
|
projall: 'Comunitari',
|
||||||
projectsShared: 'Miei Condivisi',
|
groups: 'Lista Gruppi',
|
||||||
myprojects: 'Miei Personali',
|
projectsShared: 'Condivisi da me',
|
||||||
|
myprojects: 'Privati',
|
||||||
favproj: 'Favoriti',
|
favproj: 'Favoriti',
|
||||||
statusreg: {
|
statusreg: {
|
||||||
reg: 'Partecipanti',
|
reg: 'Partecipanti',
|
||||||
@@ -50,6 +80,7 @@ const msg_website_it = {
|
|||||||
giainlista: 'Gia in Lista',
|
giainlista: 'Gia in Lista',
|
||||||
newreg: 'Ultime Registrazioni:',
|
newreg: 'Ultime Registrazioni:',
|
||||||
nationality: 'Nazionalità',
|
nationality: 'Nazionalità',
|
||||||
|
nationality_born: 'Nazione di Nascita',
|
||||||
verified: 'Verificata',
|
verified: 'Verificata',
|
||||||
nonverified: 'Non Verificata',
|
nonverified: 'Non Verificata',
|
||||||
req7: 'Con 5 passi entri nella lista d\'Imbarco',
|
req7: 'Con 5 passi entri nella lista d\'Imbarco',
|
||||||
@@ -57,7 +88,11 @@ const msg_website_it = {
|
|||||||
req: 'Passi',
|
req: 'Passi',
|
||||||
people: 'Inv.',
|
people: 'Inv.',
|
||||||
peoplelegend: 'Numero d\'Invitati'
|
peoplelegend: 'Numero d\'Invitati'
|
||||||
}
|
},
|
||||||
|
admin_ecommerce: 'ECommerce',
|
||||||
|
ecommerce: 'Prodotti',
|
||||||
|
ecommerce_menu: 'ECommerce1',
|
||||||
|
hours: 'Ore',
|
||||||
},
|
},
|
||||||
msg: {
|
msg: {
|
||||||
myAppDescription: '',
|
myAppDescription: '',
|
||||||
|
|||||||
@@ -18,14 +18,29 @@ const functionality: IFunctionality = {
|
|||||||
ENABLE_REG_AYNI: false,
|
ENABLE_REG_AYNI: false,
|
||||||
SHOW_NEWSLETTER: false,
|
SHOW_NEWSLETTER: false,
|
||||||
SHOW_ONLY_POLICY: true,
|
SHOW_ONLY_POLICY: true,
|
||||||
ENABLE_TODOS_LOADING: false,
|
ENABLE_TODOS_LOADING: true,
|
||||||
ENABLE_PROJECTS_LOADING: true,
|
ENABLE_PROJECTS_LOADING: true,
|
||||||
SHOW_IF_IS_SERVER_CONNECTION: true,
|
SHOW_IF_IS_SERVER_CONNECTION: true,
|
||||||
SHOW_MESSAGES: false,
|
SHOW_MESSAGES: false,
|
||||||
BOOKING_EVENTS: false
|
BOOKING_EVENTS: true,
|
||||||
|
ENABLE_ECOMMERCE: true,
|
||||||
|
ENABLE_REG_CNM: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
const routes_admin: IListRoutes[] = [
|
const routes_admin: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 10,
|
||||||
|
path: '/admin/sites',
|
||||||
|
materialIcon: 'event_seat',
|
||||||
|
name: 'pages.Sites',
|
||||||
|
component: () => import('@/rootgen/admin/sites/sites.vue'),
|
||||||
|
level_parent: 0.0,
|
||||||
|
level_child: 0.5,
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
onlyAdmin: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
@@ -51,70 +66,256 @@ const routes_admin: IListRoutes[] = [
|
|||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
onlyAdmin: true
|
onlyAdmin: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 1030,
|
||||||
|
path: '/admin/sendpushnotif',
|
||||||
|
materialIcon: 'event_seat',
|
||||||
|
name: 'otherpages.manage.sendpushnotif',
|
||||||
|
component: () => import('@/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
|
||||||
|
level_parent: 0.0,
|
||||||
|
level_child: 0.5,
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
onlyAdmin: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
const routes_projects: IListRoutes[] = [
|
const routes_projects: IListRoutes[] = [
|
||||||
{
|
{
|
||||||
active: functionality.ENABLE_PROJECTS_LOADING,
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
order: 10,
|
order: 5,
|
||||||
path: '/' + RouteNames.projectsall + '/:idProj',
|
path: '/admin/groups',
|
||||||
materialIcon: 'accessibility_new',
|
materialIcon: 'accessibility_new',
|
||||||
name: RouteNames.projectsall,
|
name: 'pages.groups',
|
||||||
|
level_parent: 0.0,
|
||||||
|
level_child: 0.5,
|
||||||
|
component: () => import('@/rootgen/admin/groups/groups.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 10,
|
||||||
|
path: '/projall/',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
urlroute: 'projall',
|
||||||
|
name: 'pages.projall',
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
inmenu: functionality.SHOW_MESSAGES,
|
inmenu: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
meta: {
|
onlySocioResidente: true,
|
||||||
requiresAuth: false,
|
onlyAdmin: true,
|
||||||
async asyncData() {
|
|
||||||
// await Todos.actions.dbLoad({ checkPending: false })
|
|
||||||
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
|
|
||||||
}
|
|
||||||
},
|
|
||||||
idelem: process.env.PROJECT_ID_MAIN
|
idelem: process.env.PROJECT_ID_MAIN
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: functionality.ENABLE_PROJECTS_LOADING,
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
order: 20,
|
order: 20,
|
||||||
path: '/' + RouteNames.myprojects + '/:idProj',
|
path: '/myprojects/',
|
||||||
materialIcon: 'accessibility_new',
|
materialIcon: 'accessibility_new',
|
||||||
name: RouteNames.myprojects,
|
name: 'pages.myprojects',
|
||||||
|
urlroute: 'myprojects',
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
|
onlySocioResidente: true,
|
||||||
|
onlyAdmin: true,
|
||||||
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
inmenu: functionality.SHOW_MESSAGES,
|
inmenu: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
meta: {
|
|
||||||
requiresAuth: false,
|
|
||||||
async asyncData() {
|
|
||||||
// await Todos.actions.dbLoad({ checkPending: false })
|
|
||||||
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
|
|
||||||
}
|
|
||||||
},
|
|
||||||
idelem: process.env.PROJECT_ID_MAIN
|
idelem: process.env.PROJECT_ID_MAIN
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: functionality.ENABLE_PROJECTS_LOADING,
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
order: 30,
|
order: 30,
|
||||||
path: '/' + RouteNames.projectsshared + '/:idProj',
|
path: '/projectsShared/',
|
||||||
|
urlroute: 'projectsShared',
|
||||||
materialIcon: 'accessibility_new',
|
materialIcon: 'accessibility_new',
|
||||||
name: RouteNames.projectsshared,
|
name: 'pages.projectsShared',
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
inmenu: functionality.SHOW_MESSAGES,
|
inmenu: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
onlySocioResidente: true,
|
||||||
|
onlyAdmin: true,
|
||||||
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
meta: {
|
|
||||||
requiresAuth: false,
|
|
||||||
async asyncData() {
|
|
||||||
// await Todos.actions.dbLoad({ checkPending: false })
|
|
||||||
await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true })
|
|
||||||
}
|
|
||||||
},
|
|
||||||
idelem: process.env.PROJECT_ID_MAIN
|
idelem: process.env.PROJECT_ID_MAIN
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 40,
|
||||||
|
path: '/report',
|
||||||
|
materialIcon: 'fas fa-chart-line',
|
||||||
|
name: 'pages.report',
|
||||||
|
level_parent: 0.0,
|
||||||
|
level_child: 0.5,
|
||||||
|
component: () => import('@/views/projects/report/report.vue'),
|
||||||
|
inmenu: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
onlySocioResidente: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
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
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -178,6 +379,22 @@ const routes_newsletter: IListRoutes[] = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const routes_manager: IListRoutes[] = [
|
const routes_manager: IListRoutes[] = [
|
||||||
|
{
|
||||||
|
active: functionality.BOOKING_EVENTS,
|
||||||
|
order: 70,
|
||||||
|
path: '/admin/usereventlist',
|
||||||
|
materialIcon: 'edit',
|
||||||
|
name: 'otherpages.admin.usereventlist',
|
||||||
|
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
infooter: true,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyConsiglio: true,
|
||||||
|
onlyAdmin: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 10,
|
order: 10,
|
||||||
@@ -192,6 +409,20 @@ const routes_manager: IListRoutes[] = [
|
|||||||
onlyManager: true,
|
onlyManager: true,
|
||||||
onlyTutor: true
|
onlyTutor: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 10,
|
||||||
|
path: '/admin/iscritticonacreis',
|
||||||
|
materialIcon: 'fas fa-users',
|
||||||
|
name: 'otherpages.admin.iscritticonacreis',
|
||||||
|
component: () => import('@/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0,
|
||||||
|
level_child: 0.5,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyTutor: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 10,
|
order: 10,
|
||||||
@@ -232,11 +463,44 @@ const routes_manager: IListRoutes[] = [
|
|||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
onlyManager: true,
|
onlyManager: true,
|
||||||
onlyTraduttrici: true
|
onlyEditor: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 30,
|
path: '/admin/newsletter',
|
||||||
|
order: 60,
|
||||||
|
faIcon: 'fa fa-list-alt',
|
||||||
|
materialIcon: 'fas fa-users',
|
||||||
|
name: 'otherpages.admin.newsletter',
|
||||||
|
routes2: routes_newsletter,
|
||||||
|
inmenu: false,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0.5,
|
||||||
|
level_child: 0.5,
|
||||||
|
solotitle: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
onlyManager: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_ECOMMERCE,
|
||||||
|
path: '/admin/ecommerce',
|
||||||
|
order: 31,
|
||||||
|
faIcon: 'fa fa-list-alt',
|
||||||
|
materialIcon: 'next_week',
|
||||||
|
name: 'pages.admin_ecommerce',
|
||||||
|
routes2: routes_admin_ecommerce,
|
||||||
|
inmenu: false,
|
||||||
|
submenu: true,
|
||||||
|
level_parent: 0.5,
|
||||||
|
level_child: 0.5,
|
||||||
|
solotitle: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
onlyManager: true,
|
||||||
|
onlyDepartment: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 35,
|
||||||
path: '/admin/msg_template',
|
path: '/admin/msg_template',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'msgs.messages',
|
name: 'msgs.messages',
|
||||||
@@ -277,36 +541,6 @@ const routes_manager: IListRoutes[] = [
|
|||||||
onlyAdmin: true,
|
onlyAdmin: true,
|
||||||
onlyManager: true
|
onlyManager: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
active: true,
|
|
||||||
order: 60,
|
|
||||||
path: '/admin/newsletter',
|
|
||||||
materialIcon: 'fas fa-users',
|
|
||||||
name: 'otherpages.admin.newsletter',
|
|
||||||
inmenu: false,
|
|
||||||
submenu: true,
|
|
||||||
routes2: routes_newsletter,
|
|
||||||
solotitle: true,
|
|
||||||
level_parent: 0.5,
|
|
||||||
level_child: 0.5,
|
|
||||||
onlyAdmin: true,
|
|
||||||
onlyManager: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
active: functionality.BOOKING_EVENTS,
|
|
||||||
order: 70,
|
|
||||||
path: '/admin/usereventlist',
|
|
||||||
materialIcon: 'edit',
|
|
||||||
name: 'otherpages.admin.usereventlist',
|
|
||||||
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
|
||||||
inmenu: true,
|
|
||||||
submenu: true,
|
|
||||||
level_parent: 0,
|
|
||||||
level_child: 0.5,
|
|
||||||
infooter: true,
|
|
||||||
onlyManager: true,
|
|
||||||
onlyAdmin: true
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
const baseroutes: IListRoutes[] = [
|
const baseroutes: IListRoutes[] = [
|
||||||
@@ -328,6 +562,29 @@ const baseroutes: IListRoutes[] = [
|
|||||||
isseparator: true,
|
isseparator: true,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 55,
|
||||||
|
path: '/iscrizione',
|
||||||
|
materialIcon: 'how_to_reg',
|
||||||
|
name: 'pages.SignUpIscrizione',
|
||||||
|
component: () => import('@/views/login/iscrizioneconacreis/iscrizioneconacreis.vue'),
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true,
|
||||||
|
separator: false,
|
||||||
|
onlyNotSoci: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 80,
|
||||||
|
path: '/calendario-eventi',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'pages.calendarioeventi',
|
||||||
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
|
extraclass: 'isCalendar',
|
||||||
|
inmenu: true,
|
||||||
|
infooter: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 120,
|
order: 120,
|
||||||
@@ -339,6 +596,16 @@ const baseroutes: IListRoutes[] = [
|
|||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 90,
|
||||||
|
path: '/event/:typol/:eventid',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'pages.evento',
|
||||||
|
component: () => import('@/root/evento/evento.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
@@ -349,6 +616,27 @@ const baseroutes: IListRoutes[] = [
|
|||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 110,
|
||||||
|
path: '/event/:typol',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'pages.eventodef',
|
||||||
|
component: () => import('@/root/evento/evento.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 1000,
|
||||||
|
path: '/product/:codprod',
|
||||||
|
materialIcon: 'event',
|
||||||
|
name: 'otherpages.product',
|
||||||
|
component: () => import('@/views/ecommerce/productInfo/productInfo.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false
|
||||||
|
},
|
||||||
|
...routes_admin_ecommerce_menu,
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
@@ -360,7 +648,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
path: '',
|
path: '',
|
||||||
order: 10001,
|
order: 10001,
|
||||||
faIcon: 'fa fa-list-alt',
|
faIcon: 'fa fa-list-alt',
|
||||||
@@ -369,9 +657,25 @@ const baseroutes: IListRoutes[] = [
|
|||||||
routes2: routes_projects,
|
routes2: routes_projects,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
solotitle: true,
|
solotitle: true,
|
||||||
|
infooter: true,
|
||||||
|
onlySocioResidente: true,
|
||||||
|
onlyAdmin: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_ECOMMERCE,
|
||||||
|
path: '',
|
||||||
|
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
|
infooter: true
|
||||||
},
|
},
|
||||||
...routes_projects,
|
...routes_ecommerce,
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 2000,
|
order: 2000,
|
||||||
@@ -398,7 +702,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
onlyAdmin: true,
|
onlyAdmin: true,
|
||||||
onlyManager: true,
|
onlyManager: true,
|
||||||
onlyTutor: true,
|
onlyTutor: true,
|
||||||
onlyTraduttrici: true
|
onlyEditor: true
|
||||||
},
|
},
|
||||||
...routes_manager,
|
...routes_manager,
|
||||||
{
|
{
|
||||||
@@ -425,7 +729,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/signup',
|
path: '/signup',
|
||||||
materialIcon: 'how_to_reg',
|
materialIcon: 'how_to_reg',
|
||||||
name: 'pages.SignUp',
|
name: 'pages.SignUp',
|
||||||
component: () => import('@/views/login/signup_complete/signup_complete.vue'),
|
component: () => import('@/views/login/signup/signup.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
separator: false
|
separator: false
|
||||||
@@ -491,14 +795,93 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/offline',
|
path: '/offline',
|
||||||
name: 'Offline',
|
name: 'Offline',
|
||||||
component: () => import('@/views/offline/offline.vue')
|
component: () => import('@/views/offline/offline.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 5,
|
||||||
|
path: '/admin/groups',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.groups',
|
||||||
|
component: () => import('@/rootgen/admin/groups/groups.vue'),
|
||||||
|
infooter: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 10,
|
||||||
|
path: '/projall/:idProj',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.projall',
|
||||||
|
urlroute: 'projall',
|
||||||
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
// idelem: process.env.PROJECT_ID_MAIN
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 10,
|
||||||
|
path: '/todos/:idProj',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.todos',
|
||||||
|
urlroute: 'todos',
|
||||||
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
// idelem: process.env.PROJECT_ID_MAIN
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 20,
|
||||||
|
path: '/myprojects/:idProj',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.myprojects',
|
||||||
|
urlroute: 'myprojects',
|
||||||
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
// idelem: process.env.PROJECT_ID_MAIN
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 30,
|
||||||
|
path: '/projectsShared/:idProj',
|
||||||
|
urlroute: 'projectsShared',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.projectsShared',
|
||||||
|
component: () => import('@/views/projects/proj-list/proj-list.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
// idelem: process.env.PROJECT_ID_MAIN
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
path: '/separator',
|
||||||
|
name: 'separator',
|
||||||
|
order: 35,
|
||||||
|
isseparator: true,
|
||||||
|
inmenu: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
active: functionality.ENABLE_PROJECTS_LOADING,
|
||||||
|
order: 40,
|
||||||
|
path: '/report',
|
||||||
|
urlroute: 'report',
|
||||||
|
materialIcon: 'accessibility_new',
|
||||||
|
name: 'pages.report',
|
||||||
|
component: () => import('@/views/projects/report/report.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
// idelem: process.env.PROJECT_ID_MAIN
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
export const routes = baseroutes
|
export const routes = baseroutes
|
||||||
|
|
||||||
const preLoadImages: IPreloadImages[] = [
|
const preLoadImages: IPreloadImages[] = [
|
||||||
{ imgname: '../../statics/images/logo.png', alt: 'logo', mobile: false },
|
{ imgname: '../../statics/images/logo.png', alt: 'logo', mobile: false },
|
||||||
{ imgname: '../../statics/icons/flag_it.svg', alt: 'flag it', mobile: false }
|
{ imgname: '../../statics/icons/flag_it.svg', alt: 'flag it', mobile: false },
|
||||||
|
{ imgname: '../../statics/icons/flag_uk.svg', alt: 'flag en', mobile: false }
|
||||||
// { imgname: '../../statics/images/background.jpg', alt: 'corsi di formazione per operatori del massaggio del benessere', mobile: true },
|
// { imgname: '../../statics/images/background.jpg', alt: 'corsi di formazione per operatori del massaggio del benessere', mobile: true },
|
||||||
// { imgname: '../../statics/images/background2.jpg', alt: 'stanza con cuscini per seminario reiki', mobile: true },
|
// { imgname: '../../statics/images/background2.jpg', alt: 'stanza con cuscini per seminario reiki', mobile: true },
|
||||||
// { imgname: '../../statics/images/background3.jpg', alt: 'foto di gruppo seminaristi reiki', mobile: true },
|
// { imgname: '../../statics/images/background3.jpg', alt: 'foto di gruppo seminaristi reiki', mobile: true },
|
||||||
@@ -510,13 +893,13 @@ export function preloadedimages() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const arrLangUsed = [
|
const arrLangUsed = [
|
||||||
'it',
|
'it'
|
||||||
'enUs'
|
// 'enUs'
|
||||||
]
|
]
|
||||||
|
|
||||||
const lang_available: ILang[] = [
|
const lang_available: ILang[] = [
|
||||||
{ label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../statics/icons/flag_it.svg', short: 'IT' },
|
{ label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../statics/icons/flag_it.svg', short: 'IT' },
|
||||||
{ label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../statics/icons/flag_gb.svg', short: 'EN' }
|
// { label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../statics/icons/flag_gb.svg', short: 'EN' }
|
||||||
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../statics/images/de.png', short: 'DE' },
|
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../statics/images/de.png', short: 'DE' },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<link rel="icon" type="image/png" sizes="16x16"
|
<link rel="icon" type="image/png" sizes="16x16"
|
||||||
href="<%= htmlWebpackPlugin.files.publicPath %>statics/icons/favicon-16x16.png">
|
href="<%= htmlWebpackPlugin.files.publicPath %>statics/icons/favicon-16x16.png">
|
||||||
|
|
||||||
<script src="<%= htmlWebpackPlugin.files.publicPath %>statics/js/track.js"></script>
|
<!--<script src="<%= htmlWebpackPlugin.files.publicPath %>statics/js/track.js"></script>-->
|
||||||
|
|
||||||
<script src="https://www.gstatic.com/charts/loader.js"></script>
|
<script src="https://www.gstatic.com/charts/loader.js"></script>
|
||||||
|
|
||||||
|
|||||||
0
src/root/calendarioeventi/calendarioeventi.scss
Executable file
19
src/root/calendarioeventi/calendarioeventi.ts
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import { Component } from 'vue-property-decorator'
|
||||||
|
import { CEventsCalendar, CMyPage } from '@components'
|
||||||
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
|
import MixinMetaTags from '@src/mixins/mixin-metatags'
|
||||||
|
import { tools } from '@src/store/Modules/tools'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
mixins: [MixinBase],
|
||||||
|
components: { CEventsCalendar, CMyPage }
|
||||||
|
})
|
||||||
|
export default class Calendarioeventi extends MixinMetaTags {
|
||||||
|
public $t: any
|
||||||
|
public $q
|
||||||
|
public meta() {
|
||||||
|
return tools.metafunc(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
25
src/root/calendarioeventi/calendarioeventi.vue
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
<template>
|
||||||
|
<CMyPage title='Calendario Eventi' imgbackground="../../statics/images/calendario_eventi.jpg" sizes="max-height: 120px" styleadd="bottom: -16px !important;">
|
||||||
|
|
||||||
|
<span>{{ setmeta({
|
||||||
|
title: 'Calendario Eventi',
|
||||||
|
description: "Calendario degli Eventi che si svolgono all'Associazione Shen di Lugo (RA)",
|
||||||
|
keywords: 'calendario eventi centro olistico' } ) }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<CEventsCalendar :mysingleevent="null">
|
||||||
|
|
||||||
|
</CEventsCalendar>
|
||||||
|
<br>
|
||||||
|
<p class="cltexth3 text-blue q-ma-md" v-for="mycal in getarrValDb('EVENTS_CAL')">
|
||||||
|
<a :href="`../../statics/files/eventi/` + mycal.file" target="_blank">Calendario Eventi {{ mycal.label }} (PDF)</a><br>
|
||||||
|
</p>
|
||||||
|
<br>
|
||||||
|
</CMyPage>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script lang="ts" src="./calendarioeventi.ts">
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './calendarioeventi.scss';
|
||||||
|
</style>
|
||||||
86
src/root/evento/evento.scss
Executable file
@@ -0,0 +1,86 @@
|
|||||||
|
.listaev {
|
||||||
|
color: black;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
letter-spacing: 0.03333em;
|
||||||
|
|
||||||
|
&__date {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #2ba0fd;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__title {
|
||||||
|
color: red;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0.066em;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__details {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__tdimg {
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__tdimg_small {
|
||||||
|
width: auto;
|
||||||
|
height: 50px !important;
|
||||||
|
@media (max-width: 800px) {
|
||||||
|
height: 40px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__table {
|
||||||
|
margin: 10px;
|
||||||
|
border: solid 1px #4198ef;
|
||||||
|
border-radius: 1rem;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
&__table tr {
|
||||||
|
border: solid 1px #4198ef;
|
||||||
|
border-radius: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
&__align_center_mobile {
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__align_chips {
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column-reverse;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__img {
|
||||||
|
padding: 0.25rem !important;
|
||||||
|
float: left;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
border-radius: 1rem;
|
||||||
|
|
||||||
|
@media (max-width: 718px) {
|
||||||
|
// PER VERSIONE MOBILE
|
||||||
|
float: none;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__img:hover {
|
||||||
|
transition: transform .2s;
|
||||||
|
transform: scale(1.05);
|
||||||
|
border: inset;
|
||||||
|
border-color: blue;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
127
src/root/evento/evento.ts
Executable file
@@ -0,0 +1,127 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||||
|
import { CalendarStore, GlobalStore, UserStore } from '@store'
|
||||||
|
|
||||||
|
import { Logo } from '../../components/logo/index'
|
||||||
|
|
||||||
|
import { Footer } from '../../components/Footer/index'
|
||||||
|
|
||||||
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
import { toolsext } from '@src/store/Modules/toolsext'
|
||||||
|
import { static_data } from '@src/db/static_data'
|
||||||
|
import { Screen } from 'quasar'
|
||||||
|
|
||||||
|
import { CImgText } from '../../components/CImgText/index'
|
||||||
|
import { CCard, CEventsCalendar, CMyAvatar, CMyPage, CMySingleEvent } from '@components'
|
||||||
|
import MixinOperator from '@src/mixins/mixin-operator'
|
||||||
|
import MixinEvents from '../../mixins/mixin-events'
|
||||||
|
import { IEvents } from '@src/model'
|
||||||
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
|
import MixinUsers from '@src/mixins/mixin-users'
|
||||||
|
|
||||||
|
import MixinMetaTags from '@src/mixins/mixin-metatags'
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
mixins: [MixinOperator, MixinBase, MixinEvents, MixinUsers],
|
||||||
|
components: { Logo, CImgText, CCard, CMyPage, CMyAvatar, CEventsCalendar }
|
||||||
|
})
|
||||||
|
export default class Evento extends MixinMetaTags {
|
||||||
|
public $q
|
||||||
|
public $t
|
||||||
|
public myevent: IEvents = null
|
||||||
|
public mylastevtypol: IEvents[] = []
|
||||||
|
public selected: boolean = false
|
||||||
|
|
||||||
|
public meta() {
|
||||||
|
return tools.metafunc(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Watch('$route.params.typol')
|
||||||
|
public changetypol() {
|
||||||
|
// this.mytypetransgroup = ''
|
||||||
|
const datenow = tools.addDays(tools.getDateNow(), -1)
|
||||||
|
this.mylastevtypol = CalendarStore.state.eventlist.filter((rec) => ((rec.typol === this.$route.params.typol) && (new Date(rec.dateTimeEnd) >= datenow))).slice(-5)
|
||||||
|
console.log('[1] this.mylastevtypol', this.mylastevtypol)
|
||||||
|
if (this.mylastevtypol.length === 0) {
|
||||||
|
this.mylastevtypol = CalendarStore.state.eventlist.filter((rec) => (rec.typol === this.$route.params.typol)).slice(-1)
|
||||||
|
}
|
||||||
|
// console.log('myevent', this.myevent, 'eventid=', this.$route.params.eventid)
|
||||||
|
}
|
||||||
|
|
||||||
|
get nextevents() {
|
||||||
|
if (!!this.mylastevtypol && this.mylastevtypol.length > 1) {
|
||||||
|
return this.mylastevtypol
|
||||||
|
} else {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public isnotmyevent(ev) {
|
||||||
|
if (!!this.$route.params.eventid)
|
||||||
|
return ev._id !== this.$route.params.eventid
|
||||||
|
else
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
@Watch('$route.params.eventid')
|
||||||
|
public changeevent() {
|
||||||
|
let eventid = null
|
||||||
|
if (!!this.$route.params.eventid)
|
||||||
|
eventid = this.$route.params.eventid
|
||||||
|
if (!!this.$route.query.eventid)
|
||||||
|
eventid = this.$route.query.eventid
|
||||||
|
|
||||||
|
console.log('changeevent', eventid)
|
||||||
|
|
||||||
|
// this.mytypetransgroup = ''
|
||||||
|
if (!!eventid) {
|
||||||
|
this.myevent = CalendarStore.state.eventlist.find((rec) => rec._id === eventid)
|
||||||
|
} else {
|
||||||
|
if (!!this.mylastevtypol)
|
||||||
|
this.myevent = this.mylastevtypol[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Watch('$route.query.eventid')
|
||||||
|
public changeeventquery() {
|
||||||
|
// console.log('changeevent QUERY', this.$route.query.eventid)
|
||||||
|
// this.mytypetransgroup = ''
|
||||||
|
if (!!this.$route.query.eventid) {
|
||||||
|
this.myevent = CalendarStore.state.eventlist.find((rec) => rec._id === this.$route.query.eventid)
|
||||||
|
} else {
|
||||||
|
if (!!this.mylastevtypol)
|
||||||
|
this.myevent = this.mylastevtypol[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public selectEvent(eventparam: IEvents) {
|
||||||
|
this.selected = !this.selected
|
||||||
|
}
|
||||||
|
|
||||||
|
public getTextEvent(myevent: IEvents) {
|
||||||
|
if (myevent.bodytext === '') {
|
||||||
|
return myevent.details
|
||||||
|
} else {
|
||||||
|
return myevent.bodytext
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public mounted() {
|
||||||
|
this.changetypol()
|
||||||
|
this.changeevent()
|
||||||
|
// console.log('myevent', this.myevent)
|
||||||
|
}
|
||||||
|
|
||||||
|
get static_data() {
|
||||||
|
return static_data
|
||||||
|
}
|
||||||
|
|
||||||
|
get gettitle() {
|
||||||
|
if (!!this.myevent && (!!this.myevent.title))
|
||||||
|
return this.myevent.title
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
56
src/root/evento/evento.vue
Executable file
@@ -0,0 +1,56 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<CMyPage imgbackground="../../statics/images/calendario_eventi.jpg" :title="gettitle" sizes="max-height: 110px;"
|
||||||
|
styleadd="bottom: -36px !important;">
|
||||||
|
|
||||||
|
<span>{{ setmeta({
|
||||||
|
title: gettitle,
|
||||||
|
description: "",
|
||||||
|
keywords: '' } ) }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<CEventsCalendar :mysingleevent="myevent" v-if="myevent">
|
||||||
|
|
||||||
|
</CEventsCalendar>
|
||||||
|
|
||||||
|
<q-separator>
|
||||||
|
</q-separator>
|
||||||
|
|
||||||
|
<div class="q-pa-md text-center" style="max-width: 380px; margin: auto auto 2px; " v-if="nextevents.length > 0">
|
||||||
|
<q-list bordered>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label overline>PROSSIME DATE:</q-item-label>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
<q-item clickable v-ripple
|
||||||
|
v-for="(ev, index) in nextevents"
|
||||||
|
v-if="isnotmyevent(ev)"
|
||||||
|
:to="`/event/${ev.typol}/${ev._id}`"
|
||||||
|
:key="index">
|
||||||
|
<q-item-section avatar v-if="tools.getimgev(ev)">
|
||||||
|
<q-avatar>
|
||||||
|
<img :src="tools.getimgev(ev)" :alt="ev.title">
|
||||||
|
</q-avatar>
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>{{ev.title}}</q-item-section>
|
||||||
|
<q-item-section side top>{{tools.getstrDateTimeEventShort(mythis, ev)}}</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="q-ma-md text-center">
|
||||||
|
<q-btn rounded outline type="a" to="/calendario-eventi" color="primary" icon="event"
|
||||||
|
:label="$t('pages.calendarioeventi')">
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</CMyPage>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" src="./evento.ts">
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './evento.scss';
|
||||||
|
</style>
|
||||||
@@ -505,3 +505,6 @@ body.mobile .landing:before {
|
|||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 50%;
|
background-position: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.add-button {
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { Component } from 'vue-property-decorator'
|
import { Component } from 'vue-property-decorator'
|
||||||
import { GlobalStore, UserStore, NotevoleStore } from '@store'
|
import { GlobalStore, UserStore } from '@store'
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
import { Logo } from '../../components/logo'
|
||||||
|
|
||||||
import { Footer } from '../../components/Footer'
|
import { Footer } from '../../components/Footer'
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
import { CMyPage } from '../../components/CMyPage/index'
|
||||||
|
|
||||||
import VueScrollReveal from 'vue-scroll-reveal'
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@src/store/Modules/tools'
|
||||||
import { func_tools, toolsext } from '@src/store/Modules/toolsext'
|
import { func_tools, toolsext } from '@src/store/Modules/toolsext'
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import MixinMetaTags from '@src/mixins/mixin-metatags'
|
import MixinMetaTags from '@src/mixins/mixin-metatags'
|
||||||
import {
|
import {
|
||||||
CCardCarousel,
|
CCardCarousel,
|
||||||
@@ -19,30 +17,34 @@ import {
|
|||||||
CStatus,
|
CStatus,
|
||||||
CStatusReg,
|
CStatusReg,
|
||||||
CNextZoom,
|
CNextZoom,
|
||||||
CVerifyTelegram, CVerifyEmail
|
CVerifyTelegram, CVerifyEmail, CECommerce, CShareWithUs, CEventsCalendar
|
||||||
} from '@components'
|
} from '@components'
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
import { static_data } from '@src/db/static_data'
|
import { static_data } from '@src/db/static_data'
|
||||||
import { INotData } from '@src/model'
|
import { INotData } from '@src/model'
|
||||||
|
|
||||||
// Vue.use(VueScrollReveal, {
|
|
||||||
// class: 'v-scroll-reveal', // A CSS class applied to elements with the v-scroll-reveal directive; useful for animation overrides.
|
|
||||||
// duration: 1200,
|
|
||||||
// scale: 0.95,
|
|
||||||
// distance: '10px',
|
|
||||||
// rotate: {
|
|
||||||
// x: 0,
|
|
||||||
// y: 0,
|
|
||||||
// z: 0
|
|
||||||
// }
|
|
||||||
// // mobile: true
|
|
||||||
// })
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
mixins: [MixinBase],
|
mixins: [MixinBase],
|
||||||
components: { Logo, Footer, CMyPage, CCardCarousel, CTitleBanner, CImgText, CStatus, CStatusReg, CNextZoom, CVerifyTelegram, CVerifyEmail }
|
components: {
|
||||||
|
Logo,
|
||||||
|
Footer,
|
||||||
|
CMyPage,
|
||||||
|
CCardCarousel,
|
||||||
|
CTitleBanner,
|
||||||
|
CImgText,
|
||||||
|
CStatus,
|
||||||
|
CStatusReg,
|
||||||
|
CNextZoom,
|
||||||
|
CVerifyTelegram,
|
||||||
|
CVerifyEmail,
|
||||||
|
CECommerce,
|
||||||
|
CEventsCalendar,
|
||||||
|
CShareWithUs
|
||||||
|
}
|
||||||
})
|
})
|
||||||
export default class Home extends MixinBase {
|
export default class Home extends MixinBase {
|
||||||
|
public deferredPrompt: any = null
|
||||||
|
public showbuttonHS: boolean = false
|
||||||
public text: string = ''
|
public text: string = ''
|
||||||
public visibile: boolean = false
|
public visibile: boolean = false
|
||||||
public cardvisible: string = 'hidden'
|
public cardvisible: string = 'hidden'
|
||||||
@@ -77,60 +79,6 @@ export default class Home extends MixinBase {
|
|||||||
enUs: ''
|
enUs: ''
|
||||||
},
|
},
|
||||||
myicon: 'fas fa-donate',
|
myicon: 'fas fa-donate',
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '2',
|
|
||||||
value: 1,
|
|
||||||
title: {
|
|
||||||
it: '<strong>Passo 2 - Contributore solidale</strong><br><br>' +
|
|
||||||
'Invio il link per registrarsi alle mie 2 persone, che cosí verseranno i 33€.',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
myicon: 'fas fa-user-friends',
|
|
||||||
myicon2: 'fas fa-coins'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '3',
|
|
||||||
value: 2,
|
|
||||||
title: {
|
|
||||||
it: '<strong>Passo 3 - Tesoriere/segretario</strong><br><br>' +
|
|
||||||
'Collaboro, aggiorno la lista dei doni, fornisco informazioni, ma anche conosco, condivido esperienze, passioni e sogni.',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
myicon: 'fas fa-piggy-bank',
|
|
||||||
myicon2: 'far fa-laugh',
|
|
||||||
myicon3: 'far fa-comments'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '4',
|
|
||||||
value: 3,
|
|
||||||
title: {
|
|
||||||
it: '<strong>Passo 4 - Apertura tua Billettera</strong><br>' +
|
|
||||||
'Creo il mio gruppo Telegram nel quale entrano i miei 2 ospiti, i 2 ospiti dei miei 2 ospiti, che porteranno altre 8 persone (4x2).<br>' +
|
|
||||||
'<br>Ricevuti i 33€ da queste 8 persone (264€), mi tengo i mei <strong>iniziali 33€</strong> e <strong>dono 231 €</strong> alla Billettera "Mas Antigua".',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
myicon: 'fab fa-whatsapp',
|
|
||||||
myicon2: 'fas fa-wallet'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '5',
|
|
||||||
value: 4,
|
|
||||||
title: {
|
|
||||||
it: '<strong>Passo 5</strong><br>' +
|
|
||||||
'Aspetto, da parte delle 8 nuove Billettere, le donazioni di 231€, per un totale di <strong>1848€</strong>.<br>' +
|
|
||||||
'<br>Ringrazio l\'<strong>Universo</strong> per il <strong>dono</strong> ricevuto e fornisco <strong>aiuto</strong> a chi ne ha bisogno.<br>' +
|
|
||||||
'Se desidero, posso <strong>ricominciare</strong>!',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
myicon: 'far fa-clock',
|
|
||||||
myicon2: 'fas fa-euro-sign',
|
|
||||||
myicon3: 'fas fa-praying-hands',
|
|
||||||
myimg: '/' + tools.getimglogo(),
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -144,26 +92,6 @@ export default class Home extends MixinBase {
|
|||||||
color: 'white', icon: 'fas fa-hands-helping',
|
color: 'white', icon: 'fas fa-hands-helping',
|
||||||
textcolor: 'black'
|
textcolor: 'black'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: {
|
|
||||||
it: 'È un lavoro di squadra, dove ognuno fa la sua parte.',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
color: 'white',
|
|
||||||
icon: 'fas fa-users',
|
|
||||||
textcolor: 'black'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: {
|
|
||||||
it: 'E\' un\'opportunità di risentire vecchi amici, ed avere un intento comune, per risentirci e di riconnetterci.<br>',
|
|
||||||
es: '',
|
|
||||||
enUs: ''
|
|
||||||
},
|
|
||||||
color: 'white',
|
|
||||||
icon: 'fas fa-hand-holding-heart',
|
|
||||||
textcolor: 'black'
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -246,6 +174,18 @@ export default class Home extends MixinBase {
|
|||||||
return UserStore.state.isLogged
|
return UserStore.state.isLogged
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get isSocio() {
|
||||||
|
return UserStore.state.my.profile.socio
|
||||||
|
}
|
||||||
|
|
||||||
|
get isSocioResidente() {
|
||||||
|
return UserStore.state.my.profile.socioresidente
|
||||||
|
}
|
||||||
|
|
||||||
|
get isConsiglio() {
|
||||||
|
return UserStore.state.my.profile.consiglio
|
||||||
|
}
|
||||||
|
|
||||||
get static_data() {
|
get static_data() {
|
||||||
return static_data
|
return static_data
|
||||||
}
|
}
|
||||||
@@ -271,13 +211,38 @@ export default class Home extends MixinBase {
|
|||||||
tools.showNotif(this.$q, String(my))
|
tools.showNotif(this.$q, String(my))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public addtoHomeScreen() {
|
||||||
|
if (!!this.deferredPrompt) {
|
||||||
|
this.deferredPrompt.prompt()
|
||||||
|
// Wait for the user to respond to the prompt
|
||||||
|
this.deferredPrompt.userChoice.then((choiceResult) => {
|
||||||
|
if (choiceResult.outcome === 'accepted') {
|
||||||
|
this.showbuttonHS = false
|
||||||
|
console.log('User accepted the A2HS prompt')
|
||||||
|
} else {
|
||||||
|
console.log('User dismissed the A2HS prompt')
|
||||||
|
}
|
||||||
|
this.deferredPrompt = null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public initprompt() {
|
public initprompt() {
|
||||||
|
|
||||||
window.addEventListener('beforeinstallprompt', (event) => {
|
window.addEventListener('beforeinstallprompt', (event) => {
|
||||||
// console.log('******************************** beforeinstallprompt fired')
|
console.log('******************************** beforeinstallprompt fired')
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
// console.log('§§§§§§§§§§§§§§§§§§§§ IMPOSTA DEFERRED PROMPT !!!!!!!!!!!!!!!!! ')
|
|
||||||
// #Todo++ IMPOSTA DEFERRED PROMPT
|
this.deferredPrompt = event
|
||||||
return false
|
|
||||||
|
// Update UI to notify the user they can add to home screen
|
||||||
|
this.showbuttonHS = true
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
window.addEventListener('appinstalled', (evt) => {
|
||||||
|
// Log install to analytics
|
||||||
|
console.log('INSTALL: Success')
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -349,7 +314,8 @@ export default class Home extends MixinBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public openrighttoolbar() {
|
public openrighttoolbar() {
|
||||||
GlobalStore.state.RightDrawerOpen = true
|
GlobalStore.state.rightDrawerOpen = true
|
||||||
|
GlobalStore.state.rightCartOpen = false
|
||||||
}
|
}
|
||||||
|
|
||||||
get TelegCode() {
|
get TelegCode() {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page>
|
<q-page>
|
||||||
<CMyPage title="">
|
<CMyPage title="Home">
|
||||||
<span>{{
|
<!--<span>{{
|
||||||
setmeta({
|
setmeta({
|
||||||
title: 'Home',
|
title: 'Home',
|
||||||
description: $t('msg.myAppDescription'),
|
description: $t('msg.myAppDescription'),
|
||||||
keywords: $t('msg.keywords_base')
|
keywords: $t('msg.keywords_base')
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>-->
|
||||||
|
|
||||||
<div class="landing">
|
<div class="landing">
|
||||||
<div v-if="!isLogged">
|
<div v-if="!isLogged">
|
||||||
@@ -19,6 +19,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<q-banner class="bg-positive text-white boldhigh"
|
||||||
|
style="text-align: center; ">
|
||||||
|
Benvenuti nella Nuova App della Comunità Nuovo Mondo
|
||||||
|
</q-banner>
|
||||||
|
|
||||||
<div v-if="!tools.sito_online(true)" class="row text-h4 text-center bg-warning">
|
<div v-if="!tools.sito_online(true)" class="row text-h4 text-center bg-warning">
|
||||||
{{ $t('otherpages.sito_offline') }}
|
{{ $t('otherpages.sito_offline') }}
|
||||||
</div>
|
</div>
|
||||||
@@ -57,16 +62,76 @@
|
|||||||
@input="changetab"
|
@input="changetab"
|
||||||
>
|
>
|
||||||
<q-tab name="guida" icon="fas fa-check" :label="$t('pages.home')"></q-tab>
|
<q-tab name="guida" icon="fas fa-check" :label="$t('pages.home')"></q-tab>
|
||||||
<q-tab name="zoom" icon="fas fa-video" :label="$t('pages.nextzoom')"></q-tab>
|
<q-tab v-if="isLogged && isSocio" name="prodotti" icon="fas fa-shopping-cart"
|
||||||
<q-tab name="statistiche" icon="fas fa-chart-line" :label="$t('pages.status')"></q-tab>
|
:label="$t('pages.products')"></q-tab>
|
||||||
|
<q-tab v-if="isLogged" name="collabora" icon="fas fa-users" :label="$t('pages.collabora')"></q-tab>
|
||||||
|
<!--<q-tab name="zoom" icon="fas fa-video" :label="$t('pages.nextzoom')"></q-tab>-->
|
||||||
|
<!--<q-tab name="statistiche" icon="fas fa-chart-line" :label="$t('pages.status')"></q-tab>-->
|
||||||
|
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
|
|
||||||
<q-tab-panels v-model="tab" animated>
|
<q-tab-panels v-model="tab" animated>
|
||||||
<q-tab-panel name="guida">
|
<q-tab-panel name="guida">
|
||||||
|
<div class="q-ma-xs q-pa-xs text-center rounded-borders">
|
||||||
<div v-if="isLogged">
|
<div v-if="isLogged">
|
||||||
|
<div>
|
||||||
|
<!--<q-field-->
|
||||||
|
<!--v-if="getPermission() === 'granted'"-->
|
||||||
|
<!--icon="notifications"-->
|
||||||
|
<!--class="shadow"-->
|
||||||
|
<!--:label="$t('notification.titlegranted')"-->
|
||||||
|
<!--:helper="$t('notification.statusnot')">-->
|
||||||
|
<!--</q-field>-->
|
||||||
|
<q-field
|
||||||
|
v-if="NotServiceWorker()"
|
||||||
|
class="shadow"
|
||||||
|
icon="notifications"
|
||||||
|
label="Service Worker not present"
|
||||||
|
>
|
||||||
|
</q-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<q-btn v-if="getPermission() !== 'granted'"
|
||||||
|
class="enable-notifications shadow"
|
||||||
|
color="primary" rounded
|
||||||
|
size="md"
|
||||||
|
icon="notifications" @click="tools.askfornotification(mythis)"
|
||||||
|
:label="$t('notification.ask')"/>
|
||||||
|
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="primary" rounded size="lg" icon="notifications" @click="showNotificationExample" label="Send Notification"/>-->
|
||||||
|
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="secondary" rounded size="lg" icon="notifications" @click="createPushSubscription" label="Create Push Subscription !"/>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<q-btn class="enable-notifications shadow add-button" v-if="showbuttonHS" @click="addtoHomeScreen"
|
||||||
|
color="primary" rounded
|
||||||
|
size="md"
|
||||||
|
icon="fas fa-plus"
|
||||||
|
label="Aggiungi alle tue Applicazioni">
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
|
||||||
|
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
||||||
|
|
||||||
|
</CEventsCalendar>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div class="q-pt-md q-pl-sm">
|
||||||
|
<div class="text-body2 text-italic text-grey">Versione App {{ getenv('APP_VERSION') }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="prodotti">
|
||||||
|
<CECommerce>
|
||||||
|
|
||||||
|
</CECommerce>
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="collabora">
|
||||||
|
<CShareWithUs></CShareWithUs>
|
||||||
|
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="zoom">
|
<q-tab-panel name="zoom">
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page>
|
<q-page>
|
||||||
<CMyPage title="">
|
<CMyPage title="Intro">
|
||||||
<div class="q-ma-xs">
|
<div class="q-ma-xs">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<q-img src="statics/images/background.jpg" class="logo"></q-img>
|
<q-img src="statics/images/background.jpg" class="logo"></q-img>
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
</CVideoPromo>
|
</CVideoPromo>
|
||||||
|
|
||||||
<q-page v-if="!!invited" padding class="signup" >
|
<q-page v-if="!!invited" padding class="signup" >
|
||||||
<CSignUpNotevole :showadultcheck="true" :showcell="true" :showaportador="true" :shownationality="true">
|
<CSignUp>
|
||||||
|
|
||||||
</CSignUpNotevole>
|
</CSignUp>
|
||||||
</q-page>
|
</q-page>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -24,15 +24,16 @@ export default class Mypage extends MixinMetaTags {
|
|||||||
public imgback
|
public imgback
|
||||||
public rec: IMyPage = {}
|
public rec: IMyPage = {}
|
||||||
|
|
||||||
public mounted() {
|
public async mounted() {
|
||||||
// console.log('this.$route.path', this.$route.path)
|
// console.log('this.$route.path', this.$route.path)
|
||||||
this.rec = GlobalStore.getters.getPage(this.$route.path)
|
this.rec = await GlobalStore.actions.loadPage(this.$route.path)
|
||||||
console.log(this.rec)
|
// console.log('mounted', this.rec)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Watch('$route.path')
|
@Watch('$route.path')
|
||||||
public changepage() {
|
public async changepage() {
|
||||||
this.rec = GlobalStore.getters.getPage(this.$route.path)
|
// console.log('changepage')
|
||||||
|
this.rec = await GlobalStore.actions.loadPage(this.$route.path)
|
||||||
}
|
}
|
||||||
|
|
||||||
public meta() {
|
public meta() {
|
||||||
|
|||||||
@@ -1,14 +1,40 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<CMyPage :title="rec.title" :imgbackground="`statics/` + rec.imgback" :sizes="`max-height: ` + rec.heightimg + `px`">
|
<CMyPage :title="rec.title" :imgbackground="`statics/` + rec.imgback"
|
||||||
<span>{{ setmeta({
|
:sizes="`max-height: ` + rec.heightimg + `px`">
|
||||||
|
<span>{{
|
||||||
|
setmeta({
|
||||||
title: rec.title,
|
title: rec.title,
|
||||||
description: rec.description,
|
description: rec.description,
|
||||||
keywords: rec.keywords } ) }}
|
keywords: rec.keywords
|
||||||
|
})
|
||||||
|
}}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||||
<div v-html="rec.content"></div>
|
<div v-if="!!rec.img1" class="text-center">
|
||||||
|
<q-img :src="`statics/`+ rec.img1" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!!rec.content" v-html="rec.content"></div>
|
||||||
|
<q-video v-if="!!rec.video1" :src="rec.video1" :ratio="rec.ratio1">
|
||||||
|
</q-video>
|
||||||
|
|
||||||
|
<div v-if="!!rec.img2" class="text-center">
|
||||||
|
<q-img :src="`statics/`+ rec.img2" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!!rec.content2" v-html="rec.content2"></div>
|
||||||
|
<q-video v-if="!!rec.video2" :src="rec.video2" :ratio="rec.ratio2"></q-video>
|
||||||
|
|
||||||
|
<div v-if="!!rec.img3" class="text-center">
|
||||||
|
<q-img :src="`statics/`+ rec.img2" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!!rec.content3" v-html="rec.content3"></div>
|
||||||
|
<q-video v-if="!!rec.video3" :src="rec.video3" :ratio="rec.ratio3"></q-video>
|
||||||
|
<div v-if="!!rec.content4" v-html="rec.content4"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</CMyPage>
|
</CMyPage>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
53
src/root/pr.html
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Title</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<span id="docs-internal-guid-b6caaa89-7fff-7a30-fbd4-76b2341de2b7"><p dir="ltr"
|
||||||
|
style="line-height:1.4007525444030762;margin-left: 39.875091552734375pt;margin-right: 61.662750244140625pt;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 28.021pt; font-family: "Times New Roman"; color: rgb(0, 176, 80); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">E.M. Microrganismi Effettivi </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.4007525444030762;margin-left: 39.875091552734375pt;margin-right: 61.662750244140625pt;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 20.0118pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Cosa sono e i loro molteplici usi e benefici. </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.4007525444030762;margin-left: 39.875091552734375pt;margin-right: 61.662750244140625pt;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 14.0068pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Ambiente - Agricoltura - Acqua - Salute - Casa </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.2;margin-right: 119.82754516601562pt;text-align: right;margin-top:0pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 16.0109pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;"><br></span></p><p
|
||||||
|
dir="ltr" style="text-align: center; line-height: 1.2; margin-right: 119.828pt; margin-top: 0pt; margin-bottom: 0pt;"><span
|
||||||
|
style="font-size: 16.0109pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">con il </span><span
|
||||||
|
style="font-size: 20.0118pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Dott. Vanni Ficola </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.3744505882263183;margin-left: 8.128738403320312pt;text-align: center;margin-top:4.91497802734375pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 12.0101pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Agronomo, esperto della tecnologia EM nelle pratiche agricole utili e sane per l’Ambiente </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.3744505882263183;margin-left: 8.128738403320312pt;text-align: center;margin-top:4.91497802734375pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 12.0101pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">e per la Salute, Fondatore dell’Associazione Nazionale “Puliti senza Chimica” </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="text-align: center; line-height: 1.2; margin-right: 91.4182pt; margin-top: 27.7748pt; margin-bottom: 0pt;"><span
|
||||||
|
style="font-size: 12.0101pt; font-family: "Times New Roman"; color: rgb(152, 72, 6); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;"><span
|
||||||
|
style="border:none;display:inline-block;overflow:hidden;width:344px;height:188px;"><img
|
||||||
|
src="https://lh3.googleusercontent.com/Xumk5ylO3JuNynq2nalClacFU-IcwU1u7PNopArJO3xr4Z19B1vIz0H0QdmSWEzQLb7DBmVRsOw_ifxyRPJrFkq9b25wvu7IInwamxJ_3KXjfUFiWMvt4nWIisSuxNYOVjkLc5Or"
|
||||||
|
width="344" height="188" style="margin-left:0px;margin-top:0px;"></span></span></p><p dir="ltr"
|
||||||
|
style="line-height:1.2;margin-left: 129.79080200195312pt;margin-top:0pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 18.0151pt; font-family: "Times New Roman"; color: rgb(0, 112, 192); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;"><br></span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="text-align: center; line-height: 1.2; margin-left: 129.791pt; margin-top: 0pt; margin-bottom: 0pt;"><span
|
||||||
|
style="font-size: 18.0151pt; font-family: "Times New Roman"; color: rgb(0, 112, 192); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Incontro In-formativo</span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="line-height:1.3667760372161866;margin-right: 26.9189453125pt;text-align: center;margin-top:28.270233154296875pt;margin-bottom:0pt;"><span
|
||||||
|
style="font-size: 16.0109pt; font-family: "Times New Roman"; color: rgb(0, 112, 192); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">E’ possibile sostenersi e vivere meglio con un’agricoltura Senza Chimica che rispetti la Vita e la nostra amata Madre Terra </span><span
|
||||||
|
style="font-size: 18.0151pt; font-family: "Times New Roman"; color: rgb(255, 0, 0); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Scopriamolo Insieme </span></p><p
|
||||||
|
dir="ltr"
|
||||||
|
style="text-align: center; line-height: 1.2; margin-left: 136.773pt; margin-top: 12.6207pt; margin-bottom: 0pt;"><span
|
||||||
|
style="font-size: 14.0068pt; font-family: "Times New Roman"; color: rgb(0, 32, 96); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">con INGRESSO LIBERO </span></p><div
|
||||||
|
style="text-align: center;"><span
|
||||||
|
style="font-size: 14.0068pt; font-family: "Times New Roman"; color: rgb(0, 32, 96); background-color: transparent; font-weight: 700; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;"><br></span></div></span>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -32,10 +32,11 @@ export interface IMyRouteRecord extends RouteRecord {
|
|||||||
meta: IMyMeta,
|
meta: IMyMeta,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IMyRouteConfig extends RouteConfig {
|
/*export interface IMyRouteConfig extends RouteConfig {
|
||||||
|
|
||||||
children?: IMyRouteConfig[],
|
children?: IMyRouteConfig[],
|
||||||
meta?: IMyMeta
|
meta?: IMyMeta
|
||||||
}
|
}*/
|
||||||
|
|
||||||
export const cfgrouter = {
|
export const cfgrouter = {
|
||||||
|
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ export const RouteNames = {
|
|||||||
myprojects: 'myprojects',
|
myprojects: 'myprojects',
|
||||||
favouriteprojects: 'favproj',
|
favouriteprojects: 'favproj',
|
||||||
listprojects: 'listproj',
|
listprojects: 'listproj',
|
||||||
livelli: 'livelli'
|
livelli: 'livelli',
|
||||||
|
ecommerce: 'ecommerce'
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/statics/icons/android-chrome-144x144.png
Executable file
|
After Width: | Height: | Size: 50 KiB |
BIN
src/statics/icons/android-chrome-192x192.png
Executable file
|
After Width: | Height: | Size: 85 KiB |
BIN
src/statics/icons/android-chrome-36x36.png
Executable file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
src/statics/icons/android-chrome-48x48.png
Executable file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
src/statics/icons/android-chrome-512x512.png
Executable file
|
After Width: | Height: | Size: 451 KiB |
BIN
src/statics/icons/android-chrome-72x72.png
Executable file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/statics/icons/android-chrome-96x96.png
Executable file
|
After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 813 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
src/statics/icons/favicon-48x48.png
Executable file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
src/statics/icons/favicon-64x64.png
Executable file
|
After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
src/statics/images/avatar/alberto_bartolini.jpg
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
src/statics/images/avatar/bernhard_neulichedl.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
src/statics/images/avatar/loris.jpg
Executable file
|
After Width: | Height: | Size: 18 KiB |
BIN
src/statics/images/avatar/luigi_lisi.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
src/statics/images/avatar/maria_luisa_barlini.jpg
Executable file
|
After Width: | Height: | Size: 59 KiB |
BIN
src/statics/images/avatar/michele_rosetti.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
src/statics/images/avatar/sonia_baldoni.jpg
Executable file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 288 KiB |
BIN
src/statics/images/calendario_eventi.jpg
Executable file
|
After Width: | Height: | Size: 63 KiB |
BIN
src/statics/images/em_utilizzo.jpg
Executable file
|
After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 288 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 27 KiB |
BIN
src/statics/images/prodotti.jpg
Executable file
|
After Width: | Height: | Size: 808 KiB |
BIN
src/statics/images/products/arance.jpg
Executable file
|
After Width: | Height: | Size: 35 KiB |
BIN
src/statics/images/products/ciliege-big.jpg
Executable file
|
After Width: | Height: | Size: 68 KiB |
BIN
src/statics/images/products/ciliege.jpg
Executable file
|
After Width: | Height: | Size: 52 KiB |
BIN
src/statics/images/products/cortisone_naturale.jpg
Executable file
|
After Width: | Height: | Size: 22 KiB |
BIN
src/statics/images/products/em.jpg
Executable file
|
After Width: | Height: | Size: 30 KiB |
BIN
src/statics/images/products/insalata_gentilina.jpg
Executable file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
src/statics/images/products/lattuga_romana.jpg
Executable file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
src/statics/images/products/pane.jpg
Executable file
|
After Width: | Height: | Size: 29 KiB |
BIN
src/statics/images/products/propoli.jpg
Executable file
|
After Width: | Height: | Size: 50 KiB |
BIN
src/statics/images/produttori.jpg
Executable file
|
After Width: | Height: | Size: 808 KiB |
@@ -208,6 +208,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
UpgradeDB.prototype.createObjectStore = function() {
|
UpgradeDB.prototype.createObjectStore = function() {
|
||||||
|
console.log('createObjectStore');
|
||||||
return new ObjectStore(this._db.createObjectStore.apply(this._db, arguments));
|
return new ObjectStore(this._db.createObjectStore.apply(this._db, arguments));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const OtherTables = ['categories', 'config', 'swmsg']
|
const OtherTables = ['config', 'swmsg']
|
||||||
const MainTables = ['todos', 'projects']
|
const MainTables = ['todos', 'projects']
|
||||||
const allMethod = ['sync_post_', 'sync_patch_', 'delete_']
|
const allMethod = ['sync_post_', 'sync_patch_', 'delete_', 'hide_']
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------
|
// -------------------------------------
|
||||||
@@ -15,7 +15,8 @@ let idbKeyval = (() => {
|
|||||||
if (!db) {
|
if (!db) {
|
||||||
// console.log('CREO DB STORAGE JS !')
|
// console.log('CREO DB STORAGE JS !')
|
||||||
db = new Promise((resolve, reject) => {
|
db = new Promise((resolve, reject) => {
|
||||||
const openreq = indexedDB.open('mydb3', 11);
|
// console.log('open mydb3')
|
||||||
|
const openreq = indexedDB.open('mydb3', 12);
|
||||||
|
|
||||||
openreq.onerror = () => {
|
openreq.onerror = () => {
|
||||||
reject(openreq.error);
|
reject(openreq.error);
|
||||||
@@ -24,14 +25,15 @@ let idbKeyval = (() => {
|
|||||||
openreq.onupgradeneeded = () => {
|
openreq.onupgradeneeded = () => {
|
||||||
// First time setup: create an empty object store
|
// First time setup: create an empty object store
|
||||||
for (let mytab of MainTables) {
|
for (let mytab of MainTables) {
|
||||||
openreq.result.createObjectStore(mytab, { keyPath: '_id' });
|
openreq.result.createObjectStore(mytab, { keyPath: 'BOMID', autoIncrement: true });
|
||||||
for (let mymeth of allMethod) {
|
for (let mymeth of allMethod) {
|
||||||
const tab = mymeth + mytab
|
const tab = mymeth + mytab
|
||||||
openreq.result.createObjectStore(tab, { keyPath: '_id' });
|
openreq.result.createObjectStore(tab, { keyPath: 'BOMID', autoIncrement: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let mytab of OtherTables) {
|
for (let mytab of OtherTables) {
|
||||||
openreq.result.createObjectStore(mytab, { keyPath: '_id' });
|
console.log('mytab', mytab);
|
||||||
|
openreq.result.createObjectStore(mytab, { keyPath: 'BOMID', autoIncrement: true });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ function geturl() {
|
|||||||
if (miaurl.includes('localhost')) {
|
if (miaurl.includes('localhost')) {
|
||||||
return 'http://localhost:8090/'
|
return 'http://localhost:8090/'
|
||||||
} else {
|
} else {
|
||||||
return 'https://ayni.gifteconomy.app/'
|
return 'https://comunitanuovomondo.app/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ $_CONFIG['user'] = '';
|
|||||||
$_CONFIG['pass'] = '';
|
$_CONFIG['pass'] = '';
|
||||||
$_CONFIG['dbname'] = '';
|
$_CONFIG['dbname'] = '';
|
||||||
|
|
||||||
$_SITO['conndb'] = mysqli_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass'], $_CONFIG['dbname']) or die('Impossibile stabilire una connessione. ' . mysqli_connect_error());
|
// $_SITO['conndb'] = mysqli_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass'], $_CONFIG['dbname']) or die('Impossibile stabilire una connessione. ' . mysqli_connect_error());
|
||||||
|
|
||||||
|
|||||||
5
src/statics/upload/eventi/.directory
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
[Dolphin]
|
||||||
|
PreviewsShown=true
|
||||||
|
Timestamp=2021,3,26,23,47,48
|
||||||
|
Version=4
|
||||||
|
ViewMode=1
|
||||||
BIN
src/statics/upload/eventi/acroyoga.jpg
Executable file
|
After Width: | Height: | Size: 155 KiB |
BIN
src/statics/upload/eventi/apicoltura.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
src/statics/upload/eventi/corso_autosufficienza_energetica.jpg
Executable file
|
After Width: | Height: | Size: 50 KiB |
BIN
src/statics/upload/eventi/eye_contact.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
src/statics/upload/eventi/foodforest.jpg
Executable file
|
After Width: | Height: | Size: 90 KiB |
BIN
src/statics/upload/eventi/foodforest_big.jpg
Executable file
|
After Width: | Height: | Size: 132 KiB |
BIN
src/statics/upload/eventi/lab_erbe.jpg
Executable file
|
After Width: | Height: | Size: 54 KiB |
BIN
src/statics/upload/eventi/laboratorio_erbe_spontanee.jpg
Executable file
|
After Width: | Height: | Size: 88 KiB |
BIN
src/statics/upload/eventi/orto_sinergico.jpg
Executable file
|
After Width: | Height: | Size: 75 KiB |
BIN
src/statics/upload/eventi/qi_gong.jpg
Executable file
|
After Width: | Height: | Size: 36 KiB |
BIN
src/statics/upload/eventi/scuola_evolutiva.jpg
Executable file
|
After Width: | Height: | Size: 80 KiB |
BIN
src/statics/upload/eventi/teatro.png
Executable file
|
After Width: | Height: | Size: 502 KiB |
BIN
src/statics/upload/eventi/terra.jpg
Executable file
|
After Width: | Height: | Size: 21 KiB |