- DashBoard, Profile, Order Menu

This commit is contained in:
Paolo Arena
2019-12-31 00:45:06 +01:00
parent b70f0df084
commit 354d1c8b36
38 changed files with 846 additions and 193 deletions

View File

@@ -45,6 +45,7 @@ const baseConfig = {
} }
}, },
module: { module: {
exprContextCritical: false,
rules: [{ rules: [{
test: /\.vue$/, test: /\.vue$/,
use: { use: {

View File

@@ -13,6 +13,7 @@ const PrerenderSPAPlugin = require('prerender-spa-plugin')
const webpackDevConfig = { const webpackDevConfig = {
module: { module: {
exprContextCritical: false,
rules: [{ rules: [{
test: /\.s?css$/, test: /\.s?css$/,
use: [{ use: [{

View File

@@ -2,12 +2,14 @@ const msg_website = {
it: { it: {
pages: { pages: {
home: 'Home', home: 'Home',
profile: 'Profilo', profile: 'Il tuo Profilo',
payment: 'Pagamenti',
SignUp: 'Registrazione', SignUp: 'Registrazione',
SignUp2: 'Registrazione', SignUp2: 'Registrazione',
SignIn: 'Login', SignIn: 'Login',
vreg: 'Verifica Reg', vreg: 'Verifica Reg',
dashboard:'Lavagna', dashboard:'La tua Lavagna',
testimonial: 'Testimonianze',
Test: 'Test', Test: 'Test',
Category: 'Categorie', Category: 'Categorie',
Admin: 'Admin', Admin: 'Admin',
@@ -47,17 +49,22 @@ const msg_website = {
faq: 'DOMANDE FREQUENTI (FAQ)', faq: 'DOMANDE FREQUENTI (FAQ)',
advise: 'SUGGERIMENTI', advise: 'SUGGERIMENTI',
download: 'MATERIALE DISPONIBILE', download: 'MATERIALE DISPONIBILE',
dashboard: {
madegift: 'Hai fatto il tuo dono?'
},
}, },
}, },
es: { es: {
pages: { pages: {
home: 'Home', home: 'Home',
profile: 'Perfil', profile: 'Tu Perfil',
payment: 'Paiements',
SignUp: 'Registro', SignUp: 'Registro',
SignUp2: 'Registro', SignUp2: 'Registro',
SignIn: 'Login', SignIn: 'Login',
vreg: 'Verifica Reg', vreg: 'Verifica Reg',
dashboard:'Tablero', dashboard:'Tu Tablero',
testimonial: 'Opiniones',
Test: 'Test', Test: 'Test',
Category: 'Categorie', Category: 'Categorie',
Admin: 'Admin', Admin: 'Admin',
@@ -87,17 +94,33 @@ const msg_website = {
faq: 'PREGUNTAS FRECUENTES (FAQ)', faq: 'PREGUNTAS FRECUENTES (FAQ)',
advise: 'CONSEJOS', advise: 'CONSEJOS',
download: 'MATERIAL DISPONIBLES', download: 'MATERIAL DISPONIBLES',
dashboard: {
madegift: '¿Hiciste tu regalo?'
},
}, },
}, },
fr: {
homepage: {},
pages: {},
msg: {},
text: {
dashboard: {
madegift: 'Avez-vous fait votre cadeau?'
},
}
},
enUs: { enUs: {
pages: { pages: {
home: 'Home', home: 'Home',
profile: 'Profile', profile: 'Your Profile',
payment: 'Payments',
SignUp: 'Registration', SignUp: 'Registration',
SignUp2: 'Registration', SignUp2: 'Registration',
SignIn: 'Login', SignIn: 'Login',
vreg: 'Check Registration', vreg: 'Check Registration',
dashboard:'Dashboard', dashboard:'Your Dashboard',
testimonial: 'Reviews',
Test: 'Test', Test: 'Test',
Category: 'Categorie', Category: 'Categorie',
Admin: 'Admin', Admin: 'Admin',
@@ -127,17 +150,18 @@ const msg_website = {
faq: 'FREQUENTLY ASKED QUESTIONS (FAQ)', faq: 'FREQUENTLY ASKED QUESTIONS (FAQ)',
advise: 'ADVISE', advise: 'ADVISE',
download: 'AVAILABLE DOCUMENTS', download: 'AVAILABLE DOCUMENTS',
dashboard: {
madegift: 'Did you make your gift?'
},
}, },
}, },
fr: {
homepage: {},
pages: {},
msg: {}
},
de: { de: {
homepage: {}, homepage: {},
pages: {}, pages: {},
msg: {} msg: {},
text: {
}
} }
} }

View File

@@ -5,6 +5,7 @@ import { date, Screen } from 'quasar'
import { IListRoutes, ILang, IOperators, IPreloadImages } from '../model/index' import { IListRoutes, ILang, IOperators, IPreloadImages } from '../model/index'
import { IFunctionality } from '@src/model/GlobalStore' import { IFunctionality } from '@src/model/GlobalStore'
import firebase from '@src/error-handler/firebase'
const functionality: IFunctionality = { const functionality: IFunctionality = {
PWA: false, PWA: false,
@@ -23,6 +24,7 @@ const functionality: IFunctionality = {
const routes_admin: IListRoutes[] = [ const routes_admin: IListRoutes[] = [
{ {
active: true, active: true,
order: 1000,
path: '/admin/cfgserv', path: '/admin/cfgserv',
materialIcon: 'event_seat', materialIcon: 'event_seat',
name: 'pages.Admin', name: 'pages.Admin',
@@ -38,48 +40,56 @@ const routes_admin: IListRoutes[] = [
const routes_newsletter: IListRoutes[] = [ const routes_newsletter: IListRoutes[] = [
{ {
active: true, active: true,
order: 10,
name: 'newsletter.template', path: '/admin/newsletter/templemail', materialIcon: 'fas fa-users', name: 'newsletter.template', path: '/admin/newsletter/templemail', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 20,
name: 'newsletter.sendemail', path: '/admin/newsletter/newnewsletter', materialIcon: 'fas fa-users', name: 'newsletter.sendemail', path: '/admin/newsletter/newnewsletter', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 30,
name: 'newsletter.check', path: '/admin/newsletter/check', materialIcon: 'fas fa-users', name: 'newsletter.check', path: '/admin/newsletter/check', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 40,
name: 'newsletter.sent', path: '/admin/newsletter/newslist', materialIcon: 'fas fa-users', name: 'newsletter.sent', path: '/admin/newsletter/newslist', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 50,
name: 'newsletter.mailinglist', path: '/admin/newsletter/mailinglist', materialIcon: 'fas fa-users', name: 'newsletter.mailinglist', path: '/admin/newsletter/mailinglist', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 60,
name: 'newsletter.settings', path: '/admin/newsletter/settings', materialIcon: 'fas fa-users', name: 'newsletter.settings', path: '/admin/newsletter/settings', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 70,
name: 'newsletter.serversettings', path: '/admin/newsletter/main_settings', materialIcon: 'fas fa-users', name: 'newsletter.serversettings', path: '/admin/newsletter/main_settings', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
}, },
{ {
active: true, active: true,
order: 80,
name: 'newsletter.others', path: '/admin/newsletter/events', materialIcon: 'fas fa-users', name: 'newsletter.others', path: '/admin/newsletter/events', materialIcon: 'fas fa-users',
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'), component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
@@ -89,6 +99,7 @@ const routes_newsletter: IListRoutes[] = [
const routes_manager: IListRoutes[] = [ const routes_manager: IListRoutes[] = [
{ {
active: true, active: true,
order: 10,
path: '/admin/userlist', path: '/admin/userlist',
materialIcon: 'fas fa-users', materialIcon: 'fas fa-users',
name: 'otherpages.admin.userlist', name: 'otherpages.admin.userlist',
@@ -101,6 +112,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 20,
path: '/admin/tableslist', path: '/admin/tableslist',
materialIcon: 'fas fa-users', materialIcon: 'fas fa-users',
name: 'otherpages.admin.tableslist', name: 'otherpages.admin.tableslist',
@@ -113,6 +125,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 30,
path: '/admin/pages', path: '/admin/pages',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.pages', name: 'otherpages.admin.pages',
@@ -125,6 +138,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 40,
path: '/admin/gallery', path: '/admin/gallery',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.gallery', name: 'otherpages.admin.gallery',
@@ -137,6 +151,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 50,
path: '/admin/media', path: '/admin/media',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.media', name: 'otherpages.admin.media',
@@ -149,6 +164,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 60,
path: '/admin/newsletter', path: '/admin/newsletter',
materialIcon: 'fas fa-users', materialIcon: 'fas fa-users',
name: 'otherpages.admin.newsletter', name: 'otherpages.admin.newsletter',
@@ -162,6 +178,7 @@ const routes_manager: IListRoutes[] = [
}, },
{ {
active: functionality.BOOKING_EVENTS, active: functionality.BOOKING_EVENTS,
order: 70,
path: '/admin/usereventlist', path: '/admin/usereventlist',
materialIcon: 'edit', materialIcon: 'edit',
name: 'otherpages.admin.usereventlist', name: 'otherpages.admin.usereventlist',
@@ -175,39 +192,60 @@ const routes_manager: IListRoutes[] = [
} }
] ]
const routes: IListRoutes[] = [ const baseroutes: IListRoutes[] = [
{ {
active: true, active: true,
order: 10,
path: '/', path: '/',
materialIcon: 'home', materialIcon: 'home',
name: 'pages.home', name: 'pages.home',
component: () => import('@/root/home/home.vue'), component: () => import('@/root/home/home.vue'),
reqauth: false,
inmenu: true, inmenu: true,
infooter: true infooter: true
}, },
{ {
active: true, active: true,
path: '/profile', order: 30,
materialIcon: 'user', path: '/testimonial',
name: 'pages.profile', materialIcon: 'fas fa-comments',
component: () => import('@/views/user/profile/profile.vue'), name: 'pages.testimonial',
reqauth: false, component: () => import('@/root/testimonianze/testimonianze.vue'),
inmenu: true, inmenu: true,
infooter: true infooter: true
}, },
{ {
active: true, active: true,
path: '/separator',
name: 'separator',
order: 99,
isseparator: true,
inmenu: true,
},
{
active: true,
order: 100,
path: '/dashboard', path: '/dashboard',
materialIcon: 'chalkboard', materialIcon: 'fas fa-chalkboard',
name: 'pages.dashboard', name: 'pages.dashboard',
component: () => import('@/views/user/dashboard/dashboard.vue'), component: () => import('@/views/user/dashboard/dashboard.vue'),
reqauth: false, meta: {requiresAuth: true},
inmenu: true, inmenu: true,
infooter: true infooter: true
}, },
{ {
active: true, active: true,
order: 110,
path: '/profile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/profile/profile.vue'),
meta: {requiresAuth: true},
inmenu: true,
infooter: true
},
{
active: true,
order: 1000,
path: '/admin/newsletter/:idparam', path: '/admin/newsletter/:idparam',
materialIcon: 'event', materialIcon: 'event',
name: 'pages.newsletter.menu', name: 'pages.newsletter.menu',
@@ -217,6 +255,7 @@ const routes: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 1000,
path: '/404error', path: '/404error',
materialIcon: 'fas fa-calendar-plus', materialIcon: 'fas fa-calendar-plus',
name: 'otherpages.error404', name: 'otherpages.error404',
@@ -226,6 +265,7 @@ const routes: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 2000,
path: '/admin', path: '/admin',
materialIcon: 'fas fa-user-shield', materialIcon: 'fas fa-user-shield',
name: 'otherpages.admin.menu', name: 'otherpages.admin.menu',
@@ -238,6 +278,7 @@ const routes: IListRoutes[] = [
...routes_admin, ...routes_admin,
{ {
active: true, active: true,
order: 2110,
path: '/manage', path: '/manage',
materialIcon: 'fas fa-users-cog', materialIcon: 'fas fa-users-cog',
name: 'otherpages.manage.menu', name: 'otherpages.manage.menu',
@@ -250,19 +291,22 @@ const routes: IListRoutes[] = [
...routes_manager, ...routes_manager,
{ {
active: functionality.SHOW_MESSAGES, active: functionality.SHOW_MESSAGES,
order: 2150,
path: '/messages/:un', path: '/messages/:un',
materialIcon: 'fas fa-comment', materialIcon: 'fas fa-comment',
name: 'otherpages.messages.menu', name: 'otherpages.messages.menu',
component: () => import('@/views/messages/messages.vue'), component: () => import('@/views/messages/messages.vue'),
inmenu: functionality.SHOW_MESSAGES, inmenu: functionality.SHOW_MESSAGES,
infooter: functionality.SHOW_MESSAGES, infooter: functionality.SHOW_MESSAGES,
reqauth: true meta: {requiresAuth: true},
}, },
// --- NOT IN MENU: --- // --- NOT IN MENU: ---
{ active: true, { active: true,
order: 1000,
path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue') }, path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue') },
{ {
active: functionality.ENABLE_REGISTRATION, active: functionality.ENABLE_REGISTRATION,
order: 1000,
path: '/signup', path: '/signup',
materialIcon: 'how_to_reg', materialIcon: 'how_to_reg',
name: 'pages.SignUp', name: 'pages.SignUp',
@@ -273,6 +317,7 @@ const routes: IListRoutes[] = [
}, },
{ {
active: functionality.ENABLE_REGISTRATION, active: functionality.ENABLE_REGISTRATION,
order: 1000,
path: '/signup/:invited', path: '/signup/:invited',
materialIcon: 'how_to_reg', materialIcon: 'how_to_reg',
name: 'pages.SignUp2', name: 'pages.SignUp2',
@@ -283,6 +328,7 @@ const routes: IListRoutes[] = [
}, },
{ {
active: true, active: true,
order: 1000,
path: '/signin', path: '/signin',
materialIcon: 'account_circle', materialIcon: 'account_circle',
name: 'pages.SignIn', name: 'pages.SignIn',
@@ -290,10 +336,12 @@ const routes: IListRoutes[] = [
inmenu: false, inmenu: false,
infooter: true infooter: true
}, },
{ active: true, path: '/vreg', name: 'Verify Reg', component: () => import('@/views/login/vreg/vreg.vue') }, { active: true, order: 1000, path: '/vreg', name: 'Verify Reg', component: () => import('@/views/login/vreg/vreg.vue') },
{ active: true, path: '/offline', name: 'Offline', component: () => import('@/views/offline/offline.vue') }, { active: true, order: 1000, path: '/offline', name: 'Offline', component: () => import('@/views/offline/offline.vue') },
] ]
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/images/gb.png', alt: 'flag gb', mobile: false }, { imgname: '../../statics/images/gb.png', alt: 'flag gb', mobile: false },
@@ -327,6 +375,7 @@ const lang_available: ILang[] = [
export const static_data = { export const static_data = {
functionality, functionality,
baseroutes,
routes, routes,
lang_available, lang_available,
preLoadImages, preLoadImages,

View File

@@ -12,7 +12,7 @@ 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 { Screen } from 'quasar'
import MixinMetaTags from '@src/mixins/mixin-metatags' import MixinMetaTags from '@src/mixins/mixin-metatags'
import { CCardCarousel, CEventsCalendar, CImgText, COpenStreetMap, CTitleBanner } from '@components' import { CCardCarousel, CImgText, CTitleBanner } from '@components'
import MixinBase from '@src/mixins/mixin-base' import MixinBase from '@src/mixins/mixin-base'
Vue.use(VueScrollReveal, { Vue.use(VueScrollReveal, {
@@ -30,7 +30,7 @@ Vue.use(VueScrollReveal, {
@Component({ @Component({
mixins: [MixinBase], mixins: [MixinBase],
components: { Logo, Footer, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap, CTitleBanner, CImgText } components: { Logo, Footer, CMyPage, CCardCarousel, CTitleBanner, CImgText }
}) })
export default class Home extends MixinBase { export default class Home extends MixinBase {
public text: string = '' public text: string = ''
@@ -59,7 +59,7 @@ export default class Home extends MixinBase {
label: '1', label: '1',
value: 0, value: 0,
title: { title: {
it: '<strong>Giorno 1 - Contributore Finanziario</strong><br><br>' + it: '<strong>Passo 1 - Contributore Finanziario</strong><br><br>' +
'Entro nella chat, dono <strong>33€</strong> e ho già <strong>trovato 2 persone</strong> che vogliono partecipare al gioco.', 'Entro nella chat, dono <strong>33€</strong> e ho già <strong>trovato 2 persone</strong> che vogliono partecipare al gioco.',
es: '', es: '',
enUs: '' enUs: ''
@@ -70,8 +70,8 @@ export default class Home extends MixinBase {
label: '2', label: '2',
value: 1, value: 1,
title: { title: {
it: '<strong>Giorno 2 - Contributore solidale</strong><br><br>' + it: '<strong>Passo 2 - Contributore solidale</strong><br><br>' +
'Inserisco nella chat le mie 2 persone che verseranno i 33€.', 'Invio il link per registrarsi alle mie 2 persone, che cosí verseranno i 33€.',
es: '', es: '',
enUs: '' enUs: ''
}, },
@@ -82,7 +82,7 @@ export default class Home extends MixinBase {
label: '3', label: '3',
value: 2, value: 2,
title: { title: {
it: '<strong>Giorno 3 - Tesoriere/segretario</strong><br><br>' + it: '<strong>Passo 3 - Tesoriere/segretario</strong><br><br>' +
'Collaborare, aggiornare doni, fornire informazioni, ma anche conoscersi, condividere esperienze, passioni e sogni.', 'Collaborare, aggiornare doni, fornire informazioni, ma anche conoscersi, condividere esperienze, passioni e sogni.',
es: '', es: '',
enUs: '' enUs: ''
@@ -95,8 +95,8 @@ export default class Home extends MixinBase {
label: '4', label: '4',
value: 3, value: 3,
title: { title: {
it: '<strong>Giorno 4 - Apertura tua Billettera</strong><br>' + it: '<strong>Passo 4 - Apertura tua Billettera</strong><br>' +
'Creo il mio gruppo Whatsapp nel quale entrano i miei 2 ospiti, i 2 ospiti dei miei 2 ospiti, che porteranno altre 8 persone (4x2).<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".', '<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: '', es: '',
enUs: '' enUs: ''
@@ -105,10 +105,10 @@ export default class Home extends MixinBase {
myicon2: 'fas fa-wallet' myicon2: 'fas fa-wallet'
}, },
{ {
label: '5-6-7-8', label: '5',
value: 4, value: 4,
title: { title: {
it: '<strong>Giorno 5-6-7-8</strong><br>' + 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>' + '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>' + '<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> il gioco!', 'Se desidero, posso <strong>ricominciare</strong> il gioco!',
@@ -146,18 +146,11 @@ export default class Home extends MixinBase {
public audiofiles = { public audiofiles = {
it: [ it: [
{ {
title: 'Elisa (1)', title: 'Elisa (Audio 1)',
label: '1', label: '1',
value: 0, value: 0,
src: 'statics/audio/it/spiegazione_Billettera.mp3', src: 'statics/audio/it/spiegazione_Billettera.mp3',
type: 'audio/mp3' type: 'audio/mp3'
},
{
title: 'Altro',
label: '2',
value: 1,
src: 'statics/audio/it/spiegazione_Billettera_2.mp3',
type: 'audio/mp3'
} }
] ]
} }
@@ -200,7 +193,7 @@ export default class Home extends MixinBase {
public advise = [ public advise = [
{ {
title: { title: {
it: 'La forza di questo gioco sono le Persone e la Collaborazione. Non siate timidi e scrivete agli amici su whatsapp, facebook, Telegram', it: 'La forza di questo gioco sono le Persone e la Collaborazione.<br>Vincete la timidezza e scrivete agli amici su whatsapp, facebook, Telegram.',
es: '', es: '',
enUs: '' enUs: ''
}, },
@@ -209,9 +202,7 @@ export default class Home extends MixinBase {
}, },
{ {
title: { title: {
it: 'È un lavoro di squadra ma in cui ognuno deve assolutamente fare la sua parte<br>' + it: 'È un lavoro di squadra, dove ognuno fa la sua parte.',
'La parte di ognuno in questo gioco è fare il dono e portare due persone<br>' +
'Se manca una di queste due parti il gioco si ferma',
es: '', es: '',
enUs: '' enUs: ''
}, },
@@ -221,44 +212,16 @@ export default class Home extends MixinBase {
}, },
{ {
title: { title: {
it: 'Per me personalmente la sto vivendo anche come una bellissima opportunità di risentire ' + it: 'E\' un\'opportunità di risentire vecchi amici, ed avere un intento comune, per risentirci e di riconnetterci.<br>',
'vecchi amici che non sento da tempo, ed avere un intento comune, anche solo un giochino, ci ' +
'da di nuovo la possibilità di sentirci e di riconnetterci.<br>',
es: '', es: '',
enUs: '' enUs: ''
}, },
color: 'white', color: 'white',
icon: 'fas fa-hand-holding-heart', icon: 'fas fa-hand-holding-heart',
textcolor: 'black' textcolor: 'black'
}, }
{
title: {
it: 'Dietro ogni amico che anche non sentire da un bel pò, c\'è la possibilità di ' +
'riscoprire la gioia ed il motivo che vi ha fatti essere amici, anche molto tempo fa',
es: '',
enUs: ''
},
color: 'white',
icon: 'far fa-smile-beam',
textcolor: 'black'
},
{
title: {
it: 'Ieri sera sono entrati nella mia Billettera 1 persona, che ne ha portate subito altre 2, che ' +
'non sentivo da secoli, portando una gran gioia ed energia ed entusiasmo.<br> ' +
'E\' stato molto bello risentirli 😊 <br>' +
'Se non gli avessi scritto, non sarebbe mai successo.<br>',
es: '',
enUs: ''
},
color: 'white',
icon: 'far fa-sun',
textcolor: 'black'
},
] ]
constructor() { constructor() {
super() super()
// console.log('Home constructor...') // console.log('Home constructor...')
@@ -308,7 +271,7 @@ export default class Home extends MixinBase {
this.arrvideo_mp4.push(this.getvideomp4src(index)) this.arrvideo_mp4.push(this.getvideomp4src(index))
} }
console.log(this.arrvideo_mp4) // console.log(this.arrvideo_mp4)
GlobalStore.actions.prova() GlobalStore.actions.prova()

View File

@@ -256,11 +256,12 @@
<div class="q-mx-md cltexth4"> <div class="q-mx-md cltexth4">
1) Voglia di giocare, e desiderio di Donare 33 per aiutare un'altra persona a realizzare i propri 1) Voglia di giocare, e desiderio di Donare 33 per aiutare un'altra persona a realizzare i propri
sogni.<br><br> sogni.<br><br>
<div class="text-center row block"> <!--<div class="text-center row block">
<q-img src="/statics/images/it/Esempio_di_Billettera_di_Vera.jpg" <q-img src="/statics/images/it/Esempio_di_Billettera_di_Vera.jpg"
style="height: 400px; max-width: 400px;"></q-img> style="height: 400px; max-width: 400px;"></q-img>
</div> </div>-->
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat whatsapp, dove ogni
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat, dove ogni
passaggio è spiegato e guidato.<br><br> passaggio è spiegato e guidato.<br><br>
3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema, impegnandoti così a trovare 3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema, impegnandoti così a trovare
2 persone interessate ad entrare. 2 persone interessate ad entrare.
@@ -289,113 +290,6 @@
</div> </div>
</CTitleBanner> </CTitleBanner>
<CTitleBanner class="q-pa-xs" :title="$t('text.testimonial')" bgcolor="bg-negative" clcolor="text-white"
mystyle="letter-spacing: 0.25rem; " canopen="true">
<q-carousel
v-model="myaudio"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="white"
padding
ref="myaudio"
height="150px"
class="text-white shadow-1 rounded-borders"
>
<template v-slot:control>
<q-carousel-control
position="top-left"
class="q-gutter-xs"
style="opacity: 0.6;">
<q-btn
push round color="white" text-color="black" icon="arrow_left"
@click="$refs.myaudio.previous()"></q-btn>
</q-carousel-control>
<q-carousel-control
position="top-right"
class="q-gutter-xs"
style="opacity: 0.6;">
<q-btn
push round color="white" text-color="black" icon="arrow_right"
@click="$refs.myaudio.next()"></q-btn>
</q-carousel-control>
</template>
<q-carousel-slide v-for="(recaudio, index) in getaudiofiles()" :key="index" :name="index"
class="column no-wrap flex-center">
<div class="q-pa-sm text-subtitle2 text-blue">{{ recaudio.title }}</div>
<q-media-player
type="audio"
:sources="[...recaudio]"
background-color="deep-purple-3"
:playback-rates="[ { label: 'Normal', value: 1 }, { label: '1.15x', value: 1.15 } ]"
></q-media-player>
</q-carousel-slide>
</q-carousel>
<div class="row justify-center">
<q-btn-toggle
glossy
v-model="myaudio"
:options="getaudiofiles()"
></q-btn-toggle>
</div>
<q-carousel
v-model="mytestimonianze"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="white"
padding
ref="mytestimonianze"
height="450px"
class="text-white shadow-1 rounded-borders"
>
<template v-slot:control>
<q-carousel-control
position="bottom-left"
class="q-gutter-xs"
style="opacity: 0.4;">
<q-btn
push round color="white" text-color="black" icon="arrow_left"
@click="$refs.mytestimonianze.previous()"></q-btn>
</q-carousel-control>
<q-carousel-control
position="bottom-right"
class="q-gutter-xs"
style="opacity: 0.4;">
<q-btn
push round color="white" text-color="black" icon="arrow_right"
@click="$refs.mytestimonianze.next()"></q-btn>
</q-carousel-control>
</template>
<q-carousel-slide v-for="(rec, index) in gettestimonianze()" :key="index" :name="index"
class="row flex-center">
<div class="q-pa-sm text-subtitle2 text-blue">{{ rec.title }}</div>
<div v-html="rec.text" class="text-black"></div>
</q-carousel-slide>
</q-carousel>
<div class="row justify-center">
<q-btn-toggle
glossy
v-model="mytestimonianze"
:options="gettestimonianze()"
></q-btn-toggle>
</div>
</CTitleBanner>
<CTitleBanner class="q-pa-xs" :title="$t('text.download')" bgcolor="bg-warning" clcolor="text-white"
mystyle="letter-spacing: 0.125rem;" canopen="true">
<div v-for="(rec, index) in todownload[toolsext.getLocale()]" :key="index" :name="index">
<div class="q-pa-xs text-center text-subtitle1"><a :href="rec.file" target="_blank">{{rec.title}}</a></div>
</div>
</CTitleBanner>
<!--<CTitleBanner class="q-pa-xs" :title="$t('text.faq')" bgcolor="bg-info" clcolor="text-white" <!--<CTitleBanner class="q-pa-xs" :title="$t('text.faq')" bgcolor="bg-info" clcolor="text-white"
mystyle="letter-spacing: 0.125rem;"> mystyle="letter-spacing: 0.125rem;">

View File

@@ -1,5 +1,5 @@
import Vue from 'vue' import Vue from 'vue'
import { Component, Prop } from 'vue-property-decorator' import { Component, Prop, Watch } from 'vue-property-decorator'
import { GlobalStore, UserStore } from '@store' import { GlobalStore, UserStore } from '@store'
import { tools } from '../../store/Modules/tools' import { tools } from '../../store/Modules/tools'
@@ -25,11 +25,16 @@ export default class Mypage extends MixinMetaTags {
public rec: IMyPage = {} public rec: IMyPage = {}
public mounted() { public 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 = GlobalStore.getters.getPage(this.$route.path)
console.log(this.rec) console.log(this.rec)
} }
@Watch('$route.path')
public changepage() {
this.rec = GlobalStore.getters.getPage(this.$route.path)
}
public meta() { public meta() {
return tools.metafunc(this) return tools.metafunc(this)
} }

View File

@@ -0,0 +1,470 @@
.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(../../statics/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;
}
.subtitle_small {
font-weight: 600;
text-align: center;
letter-spacing: 0.125rem;
text-transform: uppercase;
font-size: 1rem;
margin: 0px;
}
.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(../../statics/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(../../statics/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(../../statics/images/foto1.jpg) no-repeat 50% fixed;
//transition: background-image 1s ease-in-out;
}
.homep-cover-img-2 {
background: #000 url(../../statics/images/foto2.jpg) no-repeat 50% fixed;
//transition: background-image 1s ease-in-out;
}
.homep-cover-img-3 {
background: #000 url(../../statics/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(../../statics/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(../../statics/images/cibo_sano.jpg);
background-size: 500px 500px !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;
}
.q-carousel__slide{
padding: 8px !important;
}
.step-text{
font-size: 1.15rem;
font-weight: 500;
}

View File

@@ -0,0 +1,116 @@
import Vue from 'vue'
import { Component } from 'vue-property-decorator'
import { GlobalStore, UserStore } from '@store'
import { Logo } from '../../components/logo'
import { Footer } from '../../components/Footer'
import { CMyPage } from '../../components/CMyPage/index'
import VueScrollReveal from 'vue-scroll-reveal'
import { tools } from '@src/store/Modules/tools'
import { func_tools, toolsext } from '@src/store/Modules/toolsext'
import { Screen } from 'quasar'
import MixinMetaTags from '@src/mixins/mixin-metatags'
import { CCardCarousel, CEventsCalendar, CImgText, COpenStreetMap, CTitleBanner } from '@components'
import MixinBase from '@src/mixins/mixin-base'
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({
mixins: [MixinBase],
components: { CMyPage, CCardCarousel, CTitleBanner, CImgText }
})
export default class Testimonianze extends MixinBase {
public $t: any
public $q
public myaudio = 0
public mytestimonianze = 0
public audiofiles = {
it: [
{
title: 'Elisa (Audio 1)',
label: '1',
value: 0,
src: 'statics/audio/it/spiegazione_Billettera.mp3',
type: 'audio/mp3'
}
]
}
public testimonianze = {
it: [
{
title: '1. Giovanni',
label: '1',
value: 0,
text: '<p>Amici di questa meravigliosa Billettera, mi permetto di dare un mio punto di vista a ' +
'questo meraviglioso gruppo di amici che si stanno sostenendo a partecipare <strong>donando e ricevendo</strong> questo dono economico. ' +
'In questo progetto bisogna entrarci con il <strong>cuore</strong>, in questo gioco di economia circolare, e non con la mente.</p>' +
'<p>L\'ego mentale che ha costruito il giro di denaro sul potere, sul ricevere soldi dal lavoro, sull\'arrivismo, sullo scambiare ore della propria vita con denaro,' +
' e solitamente dalla competizione e dalla fatica, non può concepire che <strong>si può donare dei soldi ad amici conosciuti e sconosciuti e ricevere altrettanti doni indietro</strong>, ' +
'anche in denaro, da altri amici, che ti permetteranno di gioire di questa ricchezza economica che arriva solo da fatto che si possono utilizzare ' +
'i soldi anche con gesti di puro Amore.</p> ' +
'<p>Quando lo proponete ad amici è naturale che vi sentirete chiedere : <em>"Una piramide, dov\'è la fregatura?"</em><br>' +
'Personalmente io parlo della mia esperienza, che sono felice di fare un dono di 33€ e di riceverne altrettanti e non vedo dove sta il problema.<br> ' +
'Forse il sentirsi dire dei no, ci rimanda subito al mentale che si sente rifiutato ed entra subito nel giudizio negativo per se e verso gli altri,' +
'questo è un gioco che ci aiuterà a vedere tante facce dell\'ego che boicotterà, che ci depisterà, che ci illuderà, ma dietro a tutto questo ' +
'ci sta l\'Amore e la Consapevolezza che ci aiuteranno ad andare oltre e a procedere verso questa nuova esperienza di scambi di doni tra belle ' +
'anime che stanno già condividendo e sostenendosi a vicenda per portare una nuova visione sull\'<strong>economia circolare dei soldi</strong>.</p>' +
'<p>Insomma questa è una chance, per riprendere anche gli <strong>schemi già visti</strong> di scambi a diversi livelli, ma con tutta la nuova tecnologia che ' +
'abbiamo a disposizione, che ci aiuta a <strong>rimanere connessi continuamente</strong>, e con la nuova consapevolezza che finalmente l\'essere umano sta ' +
'raggiungendo, e di usarli, i network, per <strong>ridistribuire</strong>, anche se solo in piccola parte, <strong>un po\' di regali, gioia, amore, amicizia e denaro ' +
'sul pianeta</strong>.</p>' +
'<p>Questa billetera è una vera chance di <strong>cooperazione ad una ottava superiore</strong>, che porta con sé, anche molti <strong>regali</strong> di consapevolezza, ' +
'crescita correttezza, precisione, onestà, cooperazione, amore.</p>',
},
{
title: '2. Luca',
label: '2',
value: 1,
text: ''
}
]
}
public meta() {
return tools.metafunc(this)
}
get tools() {
return tools
}
public mounted() {
}
public beforeDestroy() {
}
public gettitle_advise(rec) {
return rec.title[tools.getLocale()]
}
public getaudiofiles() {
return this.audiofiles[tools.getLocale()]
}
public gettestimonianze() {
return this.testimonianze[tools.getLocale()]
}
}

View File

@@ -0,0 +1,126 @@
<template>
<q-page>
<CMyPage title="">
<div class="q-ma-md">
<span>{{ setmeta({
title: 'Home',
description: $t('msg.myAppDescription'),
keywords: $t('msg.keywords_base') } ) }}
</span>
<CTitleBanner class="q-pa-xs" :title="$t('text.testimonial')" bgcolor="bg-primary" clcolor="text-white"
mystyle="letter-spacing: 0.25rem; " canopen="true">
<q-carousel
v-model="mytestimonianze"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="white"
padding
ref="mytestimonianze"
height="100%"
class="text-white shadow-1 rounded-borders"
>
<template v-slot:control>
<q-carousel-control
position="bottom-left"
class="q-gutter-xs"
style="opacity: 0.4;">
<q-btn
push round color="white" text-color="black" icon="arrow_left"
@click="$refs.mytestimonianze.previous()"></q-btn>
</q-carousel-control>
<q-carousel-control
position="bottom-right"
class="q-gutter-xs"
style="opacity: 0.4;">
<q-btn
push round color="white" text-color="black" icon="arrow_right"
@click="$refs.mytestimonianze.next()"></q-btn>
</q-carousel-control>
</template>
<q-carousel-slide v-for="(rec, index) in gettestimonianze()" :key="index" :name="index"
class="row flex-center">
<div class="q-pa-sm text-subtitle2 text-blue">{{ rec.title }}</div>
<div v-html="rec.text" class="text-black"></div>
</q-carousel-slide>
</q-carousel>
<div class="row justify-center">
<q-btn-toggle
glossy
v-model="mytestimonianze"
:options="gettestimonianze()"
></q-btn-toggle>
</div>
</CTitleBanner>
<CTitleBanner class="q-pa-xs" :title="`AUDIO`" bgcolor="bg-primary" clcolor="text-white"
mystyle="letter-spacing: 0.25rem; " canopen="true">
<q-carousel
v-model="myaudio"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="white"
padding
ref="myaudio"
height="150px"
class="text-white shadow-1 rounded-borders"
>
<template v-slot:control>
<q-carousel-control
position="top-left"
class="q-gutter-xs"
style="opacity: 0.6;">
<q-btn
push round color="white" text-color="black" icon="arrow_left"
@click="$refs.myaudio.previous()"></q-btn>
</q-carousel-control>
<q-carousel-control
position="top-right"
class="q-gutter-xs"
style="opacity: 0.6;">
<q-btn
push round color="white" text-color="black" icon="arrow_right"
@click="$refs.myaudio.next()"></q-btn>
</q-carousel-control>
</template>
<q-carousel-slide v-for="(recaudio, index) in getaudiofiles()" :key="index" :name="index"
class="column no-wrap flex-center">
<div class="q-pa-sm text-subtitle2 text-blue">{{ recaudio.title }}</div>
<q-media-player
type="audio"
:sources="[...recaudio]"
background-color="deep-purple-3"
:playback-rates="[ { label: 'Normal', value: 1 }, { label: '1.15x', value: 1.15 } ]"
></q-media-player>
</q-carousel-slide>
</q-carousel>
<div class="row justify-center">
<q-btn-toggle
glossy
v-model="myaudio"
:options="getaudiofiles()"
></q-btn-toggle>
</div>
</CTitleBanner>
</div>
</CMyPage>
</q-page>
</template>
<script lang="ts" src="./testimonianze.ts">
</script>
<style lang="scss" scoped>
@import './testimonianze.scss';
</style>

View File

@@ -50,7 +50,12 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// await LoginStore.actions.checkUserSession(); // await LoginStore.actions.checkUserSession();
// } // }
// console.log(to, from) /*
if (!from || !to || from.matched.length <= 0) {
next()
return
}
*/
if (from.name && from.matched[0].name === to.name && from.meta.isModal) { if (from.name && from.matched[0].name === to.name && from.meta.isModal) {
next() next()
@@ -124,7 +129,7 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// next('/') // next('/')
} }
return Router.push({ name: 'login' }) return Router.push({ name: 'pages.SignIn' })
} }
} else if (to.matched.some((m) => m.meta.noAuth) && UserStore.state.isLogged) { } else if (to.matched.some((m) => m.meta.noAuth) && UserStore.state.isLogged) {
next('/') next('/')

View File

@@ -1,5 +1,4 @@
[Dolphin] [Dolphin]
PreviewsShown=true Timestamp=2019,12,30,10,16,33
Timestamp=2019,5,3,13,8,13
Version=4 Version=4
ViewMode=1 ViewMode=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB