Fixed refresh problem of video... during change tabpage...
This commit is contained in:
@@ -23,7 +23,8 @@
|
||||
"serve": "quasar serve ./dist/spa",
|
||||
"serve:coverage": "quasar serve test/coverage/lcov-report/ --cache 0 --port 8788",
|
||||
"deploy": "deploy.sh",
|
||||
"deploy_server_test": "NODE_ENV=test quasar build -m pwa",
|
||||
"test": "NODE_ENV=test DEBUG=v8:* quasar build",
|
||||
"deploy_server_test_pwa": "NODE_ENV=test quasar build -m pwa",
|
||||
"generate-sw": "workbox generateSW workbox-config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
@@ -158,7 +158,7 @@ module.exports = function (ctx) {
|
||||
},
|
||||
devServer: {
|
||||
https: false,
|
||||
port: 8084,
|
||||
port: 8085,
|
||||
open: false // opens browser window automatically
|
||||
},
|
||||
// framework: 'all' --- includes everything; for dev only!
|
||||
|
||||
@@ -31,6 +31,12 @@ export default class App extends Vue {
|
||||
console.info('SESSIONE IN SVILUPPO ! (DEV)')
|
||||
console.info(process.env)
|
||||
}
|
||||
if (process.env.TEST) {
|
||||
console.info('SESSIONE IN TEST ! (TEST)')
|
||||
console.info(process.env)
|
||||
}
|
||||
console.info('NodeEnv', process.env.NODE_ENV)
|
||||
|
||||
if (process.env.PROD) {
|
||||
console.info('SESSIONE IN PRODUZIONE!')
|
||||
// console.info(process.env)
|
||||
|
||||
@@ -19,8 +19,60 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: false
|
||||
}
|
||||
|
||||
const routes_newsletter: IListRoutes[] = [
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.template', path: '/admin/newsletter/templemail', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.sendemail', path: '/admin/newsletter/newnewsletter', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.check', path: '/admin/newsletter/check', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.sent', path: '/admin/newsletter/newslist', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.mailinglist', path: '/admin/newsletter/mailinglist', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.settings', path: '/admin/newsletter/settings', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.serversettings', path: '/admin/newsletter/main_settings', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
name: 'newsletter.others', path: '/admin/newsletter/events', materialIcon: 'fas fa-users',
|
||||
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||
inmenu: true, submenu: true, level_parent: 0.5, level_child: 0.5, onlyManager: true
|
||||
},
|
||||
]
|
||||
|
||||
const routes_manager: IListRoutes[] = [
|
||||
{
|
||||
active: true,
|
||||
path: '/admin/userlist',
|
||||
materialIcon: 'fas fa-users',
|
||||
name: 'otherpages.admin.userlist',
|
||||
@@ -32,6 +84,7 @@ const routes_manager: IListRoutes[] = [
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
path: '/admin/tableslist',
|
||||
materialIcon: 'fas fa-users',
|
||||
name: 'otherpages.admin.tableslist',
|
||||
@@ -42,10 +95,73 @@ const routes_manager: IListRoutes[] = [
|
||||
level_child: 0.5,
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
path: '/admin/pages',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.pages',
|
||||
component: () => import('@/rootgen/admin/pages/pages.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
path: '/admin/gallery',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.gallery',
|
||||
component: () => import('@/rootgen/admin/gallery/gallery.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
path: '/admin/media',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.media',
|
||||
component: () => import('@/rootgen/admin/uploader/uploader.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
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,
|
||||
onlyManager: true
|
||||
},
|
||||
{
|
||||
active: functionality.BOOKING_EVENTS,
|
||||
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
|
||||
}
|
||||
]
|
||||
|
||||
const routes: IListRoutes[] = [
|
||||
{
|
||||
active: true,
|
||||
path: '/',
|
||||
materialIcon: 'home',
|
||||
name: 'pages.home',
|
||||
@@ -65,6 +181,7 @@ const routes: IListRoutes[] = [
|
||||
},
|
||||
*/
|
||||
{
|
||||
active: true,
|
||||
path: '/manage',
|
||||
materialIcon: 'fas fa-users-cog',
|
||||
name: 'otherpages.manage.menu',
|
||||
@@ -76,6 +193,7 @@ const routes: IListRoutes[] = [
|
||||
},
|
||||
...routes_manager,
|
||||
{
|
||||
active: functionality.SHOW_MESSAGES,
|
||||
path: '/messages/:un',
|
||||
materialIcon: 'fas fa-comment',
|
||||
name: 'otherpages.messages.menu',
|
||||
@@ -85,8 +203,10 @@ const routes: IListRoutes[] = [
|
||||
reqauth: true
|
||||
},
|
||||
// --- NOT IN MENU: ---
|
||||
{ path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue') },
|
||||
{ active: true,
|
||||
path: '/policy', name: 'pages.policy', component: () => import('@/root/policy/policy.vue') },
|
||||
{
|
||||
active: functionality.ENABLE_REGISTRATION,
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
@@ -96,6 +216,7 @@ const routes: IListRoutes[] = [
|
||||
separator: false
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
path: '/signin',
|
||||
materialIcon: 'account_circle',
|
||||
name: 'pages.SignIn',
|
||||
@@ -103,8 +224,8 @@ const routes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: true
|
||||
},
|
||||
{ path: '/vreg', name: 'Verify Reg', component: () => import('@/views/login/vreg/vreg.vue') },
|
||||
{ path: '/offline', name: 'Offline', component: () => import('@/views/offline/offline.vue') },
|
||||
{ active: true, path: '/vreg', name: 'Verify Reg', component: () => import('@/views/login/vreg/vreg.vue') },
|
||||
{ active: true, path: '/offline', name: 'Offline', component: () => import('@/views/offline/offline.vue') },
|
||||
]
|
||||
|
||||
const preLoadImages: IPreloadImages[] = [
|
||||
|
||||
@@ -50,6 +50,9 @@ export default class Home extends MixinBase {
|
||||
public slide2 = 0
|
||||
public animare: number = 0
|
||||
public endload: boolean = false
|
||||
public indvideo: number = 0
|
||||
public arrvideo_yt = []
|
||||
public arrvideo_mp4 = []
|
||||
|
||||
public arrsteps = [
|
||||
{
|
||||
@@ -143,7 +146,7 @@ export default class Home extends MixinBase {
|
||||
public audiofiles = {
|
||||
it: [
|
||||
{
|
||||
title: 'Chiara (1)',
|
||||
title: 'Elisa (1)',
|
||||
label: '1',
|
||||
value: 0,
|
||||
src: 'statics/audio/it/spiegazione_Billettera.mp3',
|
||||
@@ -286,8 +289,10 @@ export default class Home extends MixinBase {
|
||||
// console.log('this.firstClassSection', this.firstClassSection)
|
||||
|
||||
}, mytime)
|
||||
|
||||
}
|
||||
|
||||
|
||||
public beforeDestroy() {
|
||||
// console.log('beforeDestroy')
|
||||
clearInterval(this.polling)
|
||||
@@ -296,6 +301,15 @@ export default class Home extends MixinBase {
|
||||
public created() {
|
||||
this.animare = process.env.DEV ? 0 : 8000
|
||||
|
||||
for (let index = 0; index <= this.getvideonum(true); ++index) {
|
||||
this.arrvideo_yt.push(this.getvideomp4yt(index))
|
||||
}
|
||||
for (let index = 0; index <= this.getvideonum(false); ++index) {
|
||||
this.arrvideo_mp4.push(this.getvideomp4src(index))
|
||||
}
|
||||
|
||||
console.log(this.arrvideo_mp4)
|
||||
|
||||
GlobalStore.actions.prova()
|
||||
|
||||
this.endload = true
|
||||
@@ -415,6 +429,19 @@ export default class Home extends MixinBase {
|
||||
return this.getValDb(this.getkey(youtube, false, true), false)
|
||||
}
|
||||
|
||||
get getvideonum_youtube() {
|
||||
return this.getvideonum(true)
|
||||
}
|
||||
|
||||
get getvideonum_mp4() {
|
||||
return this.getvideonum(false)
|
||||
}
|
||||
|
||||
get heightgallvideo() {
|
||||
const h = tools.heightgallery(this.getValDb('MP4_W', false) / this.getValDb('MP4_H', false))
|
||||
return h
|
||||
}
|
||||
|
||||
public mygetarrValDb(keystr, serv) {
|
||||
const myval = GlobalStore.getters.getValueSettingsByKey(keystr, serv)
|
||||
// console.log('AA: myval', myval)
|
||||
@@ -469,6 +496,11 @@ export default class Home extends MixinBase {
|
||||
]
|
||||
}
|
||||
|
||||
public getvideomp4yt(index) {
|
||||
return [{ src: this.getvideourl(index, true), type: 'video/mp4' }
|
||||
]
|
||||
}
|
||||
|
||||
public getvideoposter(index) {
|
||||
return ''
|
||||
}
|
||||
|
||||
@@ -1,414 +1,418 @@
|
||||
<template>
|
||||
<q-page>
|
||||
<CMyPage title="">
|
||||
<q-page>
|
||||
<CMyPage title="">
|
||||
<span>{{ setmeta({
|
||||
title: 'Home',
|
||||
description: $t('msg.myAppDescription'),
|
||||
keywords: $t('msg.keywords_base') } ) }}
|
||||
</span>
|
||||
|
||||
<div class="landing">
|
||||
<section>
|
||||
<div class="landing__hero maxwidth1200 text-white">
|
||||
<q-carousel
|
||||
animated
|
||||
swipeable
|
||||
infinite
|
||||
navigation
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide"
|
||||
height="400px"
|
||||
>
|
||||
<q-carousel-slide name="first"
|
||||
:img-src="getsrcbyimg('../../statics/images/background.jpg')">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{getappname}}</h1>
|
||||
<br>
|
||||
<h2 class="text-h4 shadow text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp')}}
|
||||
</h2>
|
||||
<h2 class="text-h4 shadow-max text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp2')}}
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="second"
|
||||
:img-src="getsrcbyimg('../../statics/images/background2.jpg')" alt="">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{getappname}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="third"
|
||||
:img-src="getsrcbyimg('../../statics/images/background3.jpg')">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<div class="text-h1 shadow-max">{{getappname}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<!--<i aria-hidden="true"-->
|
||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
|
||||
<div class="landing">
|
||||
<section>
|
||||
<div class="landing__hero maxwidth1200 text-white">
|
||||
<q-carousel
|
||||
animated
|
||||
swipeable
|
||||
infinite
|
||||
navigation
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide"
|
||||
height="400px"
|
||||
>
|
||||
<q-carousel-slide name="first"
|
||||
:img-src="getsrcbyimg('../../statics/images/background.jpg')">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{getappname}}</h1>
|
||||
<br>
|
||||
<h2 class="text-h4 shadow text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp')}}
|
||||
</h2>
|
||||
<h2 class="text-h4 shadow-max text-italic q-pl-sm">
|
||||
{{$t('msg.sottoTitoloApp2')}}
|
||||
</h2>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="q-pa-md q-gutter-md">
|
||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
||||
$t('components.authentication.email_verification.link_sent') }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="second"
|
||||
:img-src="getsrcbyimg('../../statics/images/background2.jpg')" alt="">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<h1 class="text-h1 shadow-max">{{getappname}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<i aria-hidden="true"
|
||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="third"
|
||||
:img-src="getsrcbyimg('../../statics/images/background3.jpg')">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
<logo></logo>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<div class="q-gutter-xs testo-banda clgutter">
|
||||
<div class="text-h1 shadow-max">{{getappname}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing__arrow absolute-bottom text-center">
|
||||
<!--<i aria-hidden="true"-->
|
||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="q-pa-md q-gutter-md">
|
||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
||||
$t('components.authentication.email_verification.link_sent') }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.how')" bgcolor="bg-primary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; " myclass="myshad">
|
||||
<CImgText src="">
|
||||
<q-icon name="fas fa-gift" size="lg" inverted color="primary"></q-icon>
|
||||
<div class="q-pa-sm" v-if="toolsext.isLang('it')">
|
||||
<p class="cltexth4 text-green-8">È un gioco etico di <span class="boldhigh">Economia Circolare</span>
|
||||
dove ognuno
|
||||
entrando porta in dono <span class="boldhigh">33 €</span> ed esce con <span
|
||||
class="boldhigh">1848 €</span> alla fine del ciclo.</p>
|
||||
<p class="cltexth4 text-red-8">E' uno scambio di Reciproco Aiuto</p>
|
||||
|
||||
<p class="cltexth4 text-blue-8">
|
||||
E' un sistema Circolare UMANO, che, se seguito bene, con il minimo sforzo, si ottieme il massimo
|
||||
apporto.
|
||||
</p>
|
||||
</div>
|
||||
</CImgText>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.step')" bgcolor="bg-positive" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
<div class="q-gutter-md">
|
||||
<q-carousel
|
||||
v-model="mysteps"
|
||||
transition-prev="slide-right"
|
||||
transition-next="slide-left"
|
||||
swipeable
|
||||
control-color="white"
|
||||
padding
|
||||
ref="mysteps"
|
||||
height="400px"
|
||||
class="bg-primary 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.mysteps.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.mysteps.next()"></q-btn>
|
||||
</q-carousel-control>
|
||||
</template>
|
||||
<q-carousel-slide v-for="(rec, index) in arrsteps" :key="index" :name="index"
|
||||
class="column no-wrap flex-center">
|
||||
<div class="row no-wrap items-center justify-around q-gutter-lg">
|
||||
<q-icon :name="rec.myicon" size="56px"></q-icon>
|
||||
<q-icon v-if="rec.myicon2" :name="rec.myicon2" size="56px"></q-icon>
|
||||
<q-icon v-if="rec.myicon3" :name="rec.myicon3" size="56px"></q-icon>
|
||||
<q-img v-if="rec.myimg" :src="rec.myimg" style="height: 56px; width: 56px;"></q-img>
|
||||
</div>
|
||||
<div class="q-mt-md text-center step-text" v-html="gettitle_advise(rec)">
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
<div class="row justify-center">
|
||||
<q-btn-toggle
|
||||
glossy
|
||||
v-model="mysteps"
|
||||
:options="arrsteps"
|
||||
></q-btn-toggle>
|
||||
</div>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
<section class="q-pa-sm bg-primary landing__swirl-bg">
|
||||
<div class="landing__features row justify-sm-around column">
|
||||
<q-carousel
|
||||
animated
|
||||
swipeable
|
||||
navigation
|
||||
infinite
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide_video"
|
||||
ref="slide_video"
|
||||
:height="heightgallvideo"
|
||||
width="100%"
|
||||
>
|
||||
<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="keyboard_arrow_left"
|
||||
@click="$refs.slide_video.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="keyboard_arrow_right"
|
||||
@click="$refs.slide_video.next()"></q-btn>
|
||||
</q-carousel-control>
|
||||
</template>
|
||||
|
||||
<q-carousel-slide v-for="index in getvideonum_mp4" :name="`mp4_`+index" :key="index">
|
||||
|
||||
<div v-if="getvideourl(index, false)"
|
||||
class="row justify-evenly items-center q-gutter-sm ">
|
||||
<div class="text-center">
|
||||
<div class="subtitle_small text-blue"
|
||||
v-html="getvideotitle(index, false)"></div>
|
||||
|
||||
<div class="">
|
||||
<q-media-player
|
||||
type="video"
|
||||
:sources="arrvideo_mp4[index]"
|
||||
:poster="getvideoposter(index)"
|
||||
>
|
||||
</q-media-player>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</q-carousel-slide>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.how')" bgcolor="bg-primary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; " myclass="myshad">
|
||||
<CImgText src="">
|
||||
<q-icon name="fas fa-gift" size="lg" inverted color="primary"></q-icon>
|
||||
<div class="q-pa-sm" v-if="toolsext.isLang('it')">
|
||||
<p class="cltexth4 text-green-8">È un gioco etico di <span class="boldhigh">Economia Circolare</span>
|
||||
dove ognuno
|
||||
entrando porta in dono <span class="boldhigh">33 €</span> ed esce con <span
|
||||
class="boldhigh">1848 €</span> alla fine del ciclo.</p>
|
||||
<p class="cltexth4 text-red-8">E' uno scambio di Reciproco Aiuto</p>
|
||||
<q-carousel-slide v-for="index in getvideonum_youtube" :name="`yt_`+index" :key="index">
|
||||
<div v-if="getvideourl(index, true)"
|
||||
class="row justify-evenly items-center q-gutter-sm ">
|
||||
|
||||
<p class="cltexth4 text-blue-8">
|
||||
E' un sistema Circolare UMANO, che, se seguito bene, con il minimo sforzo, si ottieme il massimo apporto.
|
||||
</p>
|
||||
</div>
|
||||
</CImgText>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.step')" bgcolor="bg-positive" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
<div class="q-gutter-md">
|
||||
<q-carousel
|
||||
v-model="mysteps"
|
||||
transition-prev="slide-right"
|
||||
transition-next="slide-left"
|
||||
swipeable
|
||||
control-color="white"
|
||||
padding
|
||||
ref="mysteps"
|
||||
height="400px"
|
||||
class="bg-primary 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.mysteps.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.mysteps.next()"></q-btn>
|
||||
</q-carousel-control>
|
||||
</template>
|
||||
<q-carousel-slide v-for="(rec, index) in arrsteps" :key="index" :name="index"
|
||||
class="column no-wrap flex-center">
|
||||
<div class="row no-wrap items-center justify-around q-gutter-lg">
|
||||
<q-icon :name="rec.myicon" size="56px"></q-icon>
|
||||
<q-icon v-if="rec.myicon2" :name="rec.myicon2" size="56px"></q-icon>
|
||||
<q-icon v-if="rec.myicon3" :name="rec.myicon3" size="56px"></q-icon>
|
||||
<q-img v-if="rec.myimg" :src="rec.myimg" style="height: 56px; width: 56px;"></q-img>
|
||||
</div>
|
||||
<div class="q-mt-md text-center step-text" v-html="gettitle_advise(rec)">
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
</q-carousel>
|
||||
<div class="row justify-center">
|
||||
<q-btn-toggle
|
||||
glossy
|
||||
v-model="mysteps"
|
||||
:options="arrsteps"
|
||||
></q-btn-toggle>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="subtitle_small text-blue" v-html="getvideotitle(index, true)"></div>
|
||||
<div class="">
|
||||
<iframe
|
||||
:width="tools.getwidthscale(mythis(), getValDb('YT_W', false), 800)"
|
||||
:height="tools.getheightbywidth(mythis(), getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
||||
:src="arrvideo_yt[index]"
|
||||
frameborder="0"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
|
||||
<section class="q-pa-sm bg-primary landing__swirl-bg">
|
||||
<div class="landing__features row justify-sm-around column">
|
||||
<q-carousel
|
||||
animated
|
||||
swipeable
|
||||
navigation
|
||||
infinite
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide_video"
|
||||
ref="slide_video"
|
||||
:height="tools.heightgallery(getValDb('MP4_W', false) / getValDb('MP4_H', false))"
|
||||
width="100%"
|
||||
>
|
||||
<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="keyboard_arrow_left"
|
||||
@click="$refs.slide_video.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="keyboard_arrow_right"
|
||||
@click="$refs.slide_video.next()"></q-btn>
|
||||
</q-carousel-control>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<q-carousel-slide v-for="index in getvideonum(false)" :name="`mp4_`+index" :key="index">
|
||||
|
||||
<div v-if="getvideourl(index, false)"
|
||||
class="row justify-evenly items-center q-gutter-sm ">
|
||||
<div class="text-center">
|
||||
<div class="subtitle_small text-blue"
|
||||
v-html="getvideotitle(index, false)"></div>
|
||||
|
||||
<div class="">
|
||||
<q-media-player
|
||||
type="video"
|
||||
:sources="getvideomp4src(index)"
|
||||
:poster="getvideoposter(index)"
|
||||
>
|
||||
</q-media-player>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</q-carousel-slide>
|
||||
|
||||
<q-carousel-slide v-for="index in getvideonum(true)" :name="`yt_`+index" :key="index">
|
||||
<div v-if="getvideourl(index, true)"
|
||||
class="row justify-evenly items-center q-gutter-sm ">
|
||||
|
||||
<div class="text-center">
|
||||
<div class="subtitle_small text-blue" v-html="getvideotitle(index, true)"></div>
|
||||
<div class="">
|
||||
<iframe
|
||||
:width="tools.getwidthscale(mythis(), getValDb('YT_W', false), 800)"
|
||||
:height="tools.getheightbywidth(mythis(), getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
||||
:src="getvideourl(index, true)"
|
||||
frameborder="0"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</q-carousel-slide>
|
||||
|
||||
</q-carousel>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</q-carousel-slide>
|
||||
|
||||
|
||||
</q-carousel>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.what')" bgcolor="bg-secondary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
<div class="q-mx-md cltexth4" >
|
||||
1) Voglia di giocare, e desiderio di Donare 33 € per aiutare un'altra persona a realizzare i propri sogni.<br><br>
|
||||
<q-img src="/statics/images/it/Esempio_di_Billettera_di_Vera.jpg"></q-img>
|
||||
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat whatsapp, dove ogni passaggio è spiegato e guidato.<br><br>
|
||||
3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema, impegnandoti così a trovare 2 persone interessate ad entrare.
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<!-- SUGGERIMENTI -->
|
||||
<CTitleBanner cl ass="q-pa-xs" :title="$t('text.advise')" bgcolor="bg-primary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; " myclass="myshad">
|
||||
<div v-if="toolsext.isLang('it')">
|
||||
<q-list dense bordered padding class="rounded-borders">
|
||||
<div v-for="(rec, index) in advise" :key="index">
|
||||
<q-item :class="rec.color">
|
||||
<q-item-section avatar>
|
||||
<q-icon :name="geticonlist(rec)" :color="rec.iconcolor" inverted></q-icon>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<span v-html="gettitle_advise(rec)" :style="`color: `+rec.textcolor"></span>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-separator spaced/>
|
||||
</div>
|
||||
</q-list>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.testimonial')" bgcolor="bg-negative" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.download')" bgcolor="bg-warning" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.125rem;">
|
||||
|
||||
<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"
|
||||
mystyle="letter-spacing: 0.125rem;">
|
||||
|
||||
</CTitleBanner>-->
|
||||
|
||||
|
||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.what')" bgcolor="bg-secondary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
<div class="q-mx-md cltexth4">
|
||||
1) Voglia di giocare, e desiderio di Donare 33 € per aiutare un'altra persona a realizzare i propri
|
||||
sogni.<br><br>
|
||||
<div class="text-center row block">
|
||||
<q-img src="/statics/images/it/Esempio_di_Billettera_di_Vera.jpg"
|
||||
style="height: 400px; max-width: 400px;"></q-img>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</q-page>
|
||||
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat whatsapp, dove ogni
|
||||
passaggio è spiegato e guidato.<br><br>
|
||||
3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema, impegnandoti così a trovare
|
||||
2 persone interessate ad entrare.
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<!-- SUGGERIMENTI -->
|
||||
<CTitleBanner cl ass="q-pa-xs" :title="$t('text.advise')" bgcolor="bg-primary" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; " myclass="myshad">
|
||||
<div v-if="toolsext.isLang('it')">
|
||||
<q-list dense bordered padding class="rounded-borders">
|
||||
<div v-for="(rec, index) in advise" :key="index">
|
||||
<q-item :class="rec.color">
|
||||
<q-item-section avatar>
|
||||
<q-icon :name="geticonlist(rec)" :color="rec.iconcolor" inverted></q-icon>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<span v-html="gettitle_advise(rec)" :style="`color: `+rec.textcolor"></span>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-separator spaced/>
|
||||
</div>
|
||||
</q-list>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('text.testimonial')" bgcolor="bg-negative" clcolor="text-white"
|
||||
mystyle="letter-spacing: 0.25rem; ">
|
||||
|
||||
<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;">
|
||||
|
||||
<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"
|
||||
mystyle="letter-spacing: 0.125rem;">
|
||||
|
||||
</CTitleBanner>-->
|
||||
|
||||
|
||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
||||
|
||||
</div>
|
||||
</CMyPage>
|
||||
</q-page>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./home.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './home.scss';
|
||||
@import './home.scss';
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user