This commit is contained in:
Paolo Arena
2020-07-11 17:07:53 +02:00
parent 01f1115c8a
commit 77c1edb779
150 changed files with 2637 additions and 4630 deletions

161
src/root/home/home.scss Executable file → Normal file
View File

@@ -15,30 +15,6 @@ p {
//text-shadow: .125rem .125rem .25rem $grayshadow;
}
.logo{
margin-left: auto;
margin-right: auto;
max-height: 200px;
max-width: 200px;
@media (max-width: 718px) {
max-height: 100px;
max-width: 100px;
}
}
.data_start{
margin-left: auto;
margin-right: auto;
max-height: 150px;
max-width: 250px;
@media (max-width: 718px) {
max-height: 90px;
max-width: 180px;
}
}
h4 {
font-size: 1.25rem;
}
@@ -51,8 +27,8 @@ h4 {
}
.landing_background {
background: #000 url(../../statics/images/foto1.jpg) no-repeat 100% fixed;
background-size: contain !important;
background: #000 url(../../statics/images/background.jpg) no-repeat 50% fixed;
background-size: cover
}
.landing > section {
@@ -85,7 +61,7 @@ h4 {
min-width: 350px;
}
&__comeassociarsi {
&__comeassociarsi{
min-width: 350px;
}
}
@@ -98,15 +74,6 @@ h4 {
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;
}
@@ -123,13 +90,10 @@ h4 {
.landing > section > div {
position: relative;
max-width: 1240px;
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);
@@ -143,11 +107,11 @@ h4 {
}
.landing__hero {
min-height: 20vh
min-height: 70vh
}
.landing__header {
height: 0vh
height: 18vh
}
.landing__arrow {
@@ -161,8 +125,8 @@ h4 {
}
.landing__logo {
width: 4.40rem;
height: 4.40rem;
width: 9.40rem;
height: 9.40rem;
margin-top: 1.315rem;
//-webkit-animation: logo-rotate 240s linear infinite;
//animation: logo-rotate 240s linear infinite
@@ -247,6 +211,7 @@ body.mobile .landing:before {
z-index: -1;
//background: #000 url(../../statics/images/cover.jpg) 50%;
background-size: cover
}
/*
@@ -284,12 +249,16 @@ body.mobile .landing:before {
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
}
.text-h1, h1 {
font-size: 3rem;
font-weight: bold;
line-height: 3rem;
.shadow-max {
//color: white;
text-shadow: .25rem .25rem .5rem $grayshadow;
}
.text-h1 {
font-size: 6rem;
font-weight: 300;
line-height: 6rem;
letter-spacing: -.01562em;
margin-bottom: 8px !important;
}
.text-h2 {
@@ -303,7 +272,7 @@ body.mobile .landing:before {
font-weight: 700;
}
.text-vers {
.text-vers{
font-size: 0.75rem;
font-weight: 400;
line-height: 1.75rem;
@@ -311,21 +280,22 @@ body.mobile .landing:before {
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-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
}
@@ -356,7 +326,7 @@ body.mobile .landing:before {
}
.clgutter {
margin-top: 0.25rem;
margin-top: 1.25rem;
padding: .62rem;
}
@@ -367,23 +337,25 @@ body.mobile .landing:before {
background-repeat: no-repeat !important;
}
@media (max-width: 718px) {
// PER VERSIONE MOBILE
.landing__hero {
min-height: 50vh;
text-align: center
}
.landing__header {
height: 10vh
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__hero .text-h1 {
font-size: 3rem;
line-height: 3.05rem;
margin-bottom: 1.5rem
}
.landing > section.padding {
@@ -398,14 +370,6 @@ body.mobile .landing:before {
.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 {
@@ -424,9 +388,6 @@ body.mobile .landing:before {
.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;
@@ -440,13 +401,13 @@ body.mobile .landing:before {
.text-subtitle1 {
font-size: 1.25rem;
}
.text-vers {
.text-vers{
font-size: 0.6rem;
}
.carousel_img_3 {
//background-image: url(../../statics/images/cibo_sano.jpg);
background-size: 500px 500px !important;
background-size: 620px 620px !important;
background-position: 50% top !important;
background-repeat: no-repeat !important;
}
@@ -460,12 +421,6 @@ body.mobile .landing:before {
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;
@@ -483,25 +438,9 @@ body.mobile .landing:before {
letter-spacing: 0.093rem;
}
.q-carousel__slide{
padding: 8px !important;
}
.step-text{
font-size: 1.15rem;
font-weight: 500;
}
.mlvalue {
margin: 5px 5px;
font-weight: bold;
font-size: 1rem;
}
.q-carousel__slide{
// background-size: auto;
background-size: contain !important;
background-repeat: no-repeat;
background-position: 50%;
.text-intro {
font-family: "Lucida Calligraphy", serif;
font-size: 1rem !important;
letter-spacing: 0.1rem;
line-height: 1.5;
}

267
src/root/home/home.ts Executable file → Normal file
View File

@@ -1,48 +1,33 @@
import Vue from 'vue'
import { Component } from 'vue-property-decorator'
import { GlobalStore, UserStore, NotevoleStore } from '@store'
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 { toolsext } from '@src/store/Modules/toolsext'
import { Screen } from 'quasar'
import MixinMetaTags from '@src/mixins/mixin-metatags'
import {
CCardCarousel,
CImgText,
CTitleBanner,
CStatus,
CStatusReg,
CNextZoom,
CVerifyTelegram, CVerifyEmail
} from '@components'
import MixinBase from '@src/mixins/mixin-base'
import { static_data } from '@src/db/static_data'
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
// })
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: { Logo, Footer, CMyPage, CCardCarousel, CTitleBanner, CImgText, CStatus, CStatusReg, CNextZoom, CVerifyTelegram, CVerifyEmail }
components: { Logo, Footer }
})
export default class Home extends MixinBase {
export default class Home extends Vue {
public text: string = ''
public visibile: boolean = false
public cardvisible: string = 'hidden'
@@ -53,117 +38,30 @@ export default class Home extends MixinBase {
public $q
public polling
public slide = 'first'
public slide_video = 'yt_1'
public mysteps = 0
public myaudio = 0
public mytestimonianze = 0
public tab = 'guida'
public slide2 = 0
public slide2 = 1
public animare: number = 0
public endload: boolean = false
public indvideo: number = 0
public arrvideo_yt = []
public arrvideo_mp4 = []
public arrsteps = [
public getImmagini = [
{
label: '1',
value: 0,
title: {
it: '<strong>Passo 1 - Contributore Finanziario</strong><br><br>' +
'A) Capisco come funziona e lo condivido ad altre 2 persone che vogliono partecipare.<br>' +
'B) Entro nella chat e dono i <strong>33€</strong> al gestore della Billettera.',
es: '',
enUs: ''
},
myicon: 'fas fa-donate',
title: '', subtitle: '',
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
},
{
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'
title: '', subtitle: '',
img: '../../statics/images/eventi_esterni/IMG_6037.jpg'
},
{
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'
title: '', subtitle: '',
img: '../../statics/images/eventi_esterni/IMG_6401.jpg'
},
{
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'
title: '', subtitle: '',
img: '../../statics/images/eventi_esterni/IMG_7203.jpg'
},
{
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(),
title: '', subtitle: '',
img: '../../statics/images/eventi_esterni/IMG_7209.jpg'
}
]
public advise = [
{
title: {
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: '',
enUs: ''
},
color: 'white', icon: 'fas fa-hands-helping',
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() {
@@ -172,28 +70,25 @@ export default class Home extends MixinBase {
this.initprompt()
}
public meta() {
return tools.metafunc(this)
get getappname(){
return this.$t('msg.myAppName')
}
get notevolerec() {
return UserStore.state
get heightgallery () {
if (Screen.width < 400) {
return '200px'
}else if (Screen.width < 600) {
return '300px'
} else {
return '600px'
}
}
get tools() {
return tools
}
get TelegVerificato() {
return UserStore.state.my.profile.teleg_id > 0
}
get visuStatus() {
return !this.isVerificato || !this.TelegVerificato || UserStore.state.my.profile.paymenttypes.length === 0
}
public mounted() {
let primo = true
const mytime = 10000
this.polling = setInterval(() => {
@@ -204,50 +99,38 @@ export default class Home extends MixinBase {
// console.log('this.firstClassSection', this.firstClassSection)
}, mytime)
}
get appname() {
return process.env.APP_NAME
}
public beforeDestroy() {
// console.log('beforeDestroy')
console.log('beforeDestroy')
clearInterval(this.polling)
}
public created() {
if (!!tools.getCookie(tools.TABBED_HOME)) {
this.tab = tools.getCookie(tools.TABBED_HOME)
}
this.animare = process.env.DEV ? 0 : 8000
for (let index = 0; index <= tools.getvideonum(true); ++index) {
this.arrvideo_yt.push(tools.getvideoyt(index))
}
for (let index = 0; index <= tools.getvideonum(false); ++index) {
this.arrvideo_mp4.push(tools.getvideomp4src(index))
}
GlobalStore.actions.prova()
this.endload = true
}
get getvideonum_youtube() {
return tools.getvideonum(true)
}
get getvideonum_mp4() {
return tools.getvideonum(false)
}
get heightgallvideo() {
return tools.heightgallvideo()
}
get isLogged() {
return UserStore.state.isLogged
}
get static_data() {
return static_data
public meta() {
return {
keywords: { name: 'keywords', content: 'Quasar website' },
// meta tags
meta: {
mykey: { name: 'mykey', content: 'Key 1' },
description: { name: 'description', content: 'Page 1' },
keywords: { name: 'keywords', content: 'Quasar website' },
equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' }
}
}
}
public mystilecard() {
@@ -272,7 +155,7 @@ export default class Home extends MixinBase {
}
public initprompt() {
window.addEventListener('beforeinstallprompt', (event) => {
window.addEventListener('beforeinstallprompt', function (event) {
// console.log('******************************** beforeinstallprompt fired')
event.preventDefault()
// console.log('§§§§§§§§§§§§§§§§§§§§ IMPOSTA DEFERRED PROMPT !!!!!!!!!!!!!!!!! ')
@@ -318,46 +201,4 @@ export default class Home extends MixinBase {
}
}
get getappname() {
return tools.getappname(this, false)
}
public gettitle_advise(rec) {
return rec.title[tools.getLocale()]
}
public geticonlist(rec) {
if (rec.icon) {
return rec.icon
} else {
return 'fas fa-info'
}
}
public getfileimgdown(rec) {
return rec.file[tools.getLocale()]
}
get isVerificato() {
return UserStore.getters.isVerificato
}
get isEmailVerified() {
return UserStore.state.my.verified_email
}
public openrighttoolbar() {
GlobalStore.state.RightDrawerOpen = true
}
get TelegCode() {
return UserStore.state.my.profile.teleg_checkcode
}
public changetab(val) {
tools.setCookie(tools.TABBED_HOME, val)
}
}

384
src/root/home/home.vue Executable file → Normal file
View File

@@ -1,313 +1,135 @@
<template>
<q-page>
<CMyPage title="">
<span>{{ setmeta({
title: 'Home',
description: $t('msg.myAppDescription'),
keywords: $t('msg.keywords_base') } ) }}
</span>
<div class="landing">
<div v-if="!isLogged">
<div style="height: 15px;">
</div>
<div class="text-center">
<q-img src="statics/images/background.jpg" class="logo"></q-img>
</div>
</div>
<div v-if="!tools.sito_online(true)" class="row text-h4 text-center bg-warning">
{{ $t('otherpages.sito_offline') }}
</div>
<!--
<div class="row justify-center">
<div class="text-h5 boldhigh text-uppercase"> {{ $t('event.dateTimeStart') }}</div>
</div>
<div class="text-center">
<q-img src="statics/images/data_start.jpg" class="data_start"></q-img>
</div>
-->
<div v-if="isLogged">
<CVerifyEmail v-if="!isEmailVerified">
</CVerifyEmail>
<CVerifyTelegram v-if="TelegCode || !TelegVerificato">
</CVerifyTelegram>
</div>
<div v-else>
<div v-if="!isLogged && static_data.functionality.ENABLE_REGISTRATION" align="center"
style="margin:20px;">
<q-btn rounded size="lg" color="primary" @click="openrighttoolbar">{{$t('login.enter')}}
</q-btn>
</div>
<!--
<div v-if="!isLogged && static_data.functionality.ENABLE_REGISTRATION" align="center" style="margin:20px;">
<q-btn rounded size="lg" color="primary" to="/signup">{{$t('reg.submit')}}
</q-btn>
</div>
-->
</div>
<q-tabs
v-model="tab"
dense
class="bg-blue text-white shadow-2"
indicator-color="white"
align="center"
narrow-indicator
:breakpoint="350"
@input="changetab"
>
<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 name="statistiche" icon="fas fa-chart-line" :label="$t('pages.status')"></q-tab>
</q-tabs>
<q-tab-panels v-model="tab" animated>
<q-tab-panel name="guida">
<div v-if="isLogged">
<CStatus :dense="false"></CStatus>
</div>
</q-tab-panel>
<q-tab-panel name="zoom">
<CNextZoom>
</CNextZoom>
</q-tab-panel>
<q-tab-panel name="statistiche">
<CStatusReg>
</CStatusReg>
</q-tab-panel>
</q-tab-panels>
<!--<div v-if="false">
<CTitleBanner v-if="false" class="q-pa-xs" :title="$t('text.how')" bgcolor="bg-primary"
clcolor="text-white"
mystyle=" " myclass="myshad" canopen="true">
<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:<br>
"Con il minimo sforzo ottengo il massimo apporto".
</p>
</div>
</CImgText>
</CTitleBanner>
<CTitleBanner class="q-pa-xs" :title="$t('text.step')" bgcolor="bg-positive" clcolor="text-white"
mystyle=" " canopen="true">
<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 text-center">
<div class="landing__features row justify-center column" style="max-width: 800px;">
<q-page class="text-white">
<div class="landing">
<section>
<div class="landing__hero">
<q-carousel
animated
:autoplay="animare"
swipeable
navigation
infinite
navigation
transition-next="slide-left"
transition-prev="slide-right"
v-model="slide_video"
ref="slide_video"
:height="heightgallvideo"
v-model="slide"
height="100%"
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-if="getvideonum_mp4 > 0" v-for="index in getvideonum_mp4"
:name="`mp4_`+index"
:key="index">
<div v-if="tools.getvideourl(index, false)"
class="row justify-evenly items-center q-gutter-sm ">
<div class="text-center">
<div class="subtitle_small text-blue"
v-html="tools.getvideotitle(index, false)"></div>
<div class="">
<q-media-player
type="video"
:sources="arrvideo_mp4[index]"
:poster="tools.getvideoposter(index)"
>
</q-media-player>
<q-carousel-slide name="first" :img-src="tools.getimgbysize('../../statics/images/', 'background.jpg')">
<div class="landing__header">
<div class="row text-center">
<logo></logo>
</div>
</div>
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h3 shadow-max">{{getappname}}</div>
<div class="text-subtitle1 shadow text-italic q-pl-sm">
{{$t('msg.sottoTitoloApp')}}
</div>
</div>
</div>
</div>
<div class="landing__arrow absolute-bottom text-center">
<i aria-hidden="true" class="q-icon text-h2 text-white material-icons">expand_more</i>
</div>
</q-carousel-slide>
<q-carousel-slide v-if="getvideonum_youtube > 0" v-for="index in getvideonum_youtube"
:name="`yt_`+index"
:key="index">
<div v-if="tools.getvideourl(index, true)"
class="row justify-evenly items-center q-gutter-sm ">
<div class="text-center">
<div class="subtitle_small text-blue"
v-html="tools.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>
<q-carousel-slide name="second" :img-src="tools.getimgbysize('../../statics/images/', 'whoiam.jpg')">
<div class="landing__header">
<div class="row text-center">
<logo></logo>
</div>
</div>
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h3 shadow-max">{{getappname}}</div>
<div class="text-subtitle1 shadow text-italic q-pl-sm">
{{$t('msg.sottoTitoloApp')}}
</div>
</div>
</div>
</div>
<div class="landing__arrow absolute-bottom text-center">
<i aria-hidden="true" class="q-icon text-h2 text-white material-icons">expand_more</i>
</div>
</q-carousel-slide>
<q-carousel-slide name="third" :img-src="tools.getimgbysize('../../statics/images/', 'background3.jpg')">
<div class="landing__header">
<div class="row text-center">
<logo></logo>
</div>
</div>
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
<div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter">
<div class="text-h3 shadow-max">{{getappname}}</div>
<div class="text-subtitle1 shadow text-italic q-pl-sm">
{{$t('msg.sottoTitoloApp')}}
</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>
<CTitleBanner class="q-pa-xs" :title="$t('text.what')" bgcolor="bg-secondary" clcolor="text-white"
mystyle=" " canopen="true">
<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>
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat, 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>
<CTitleBanner cl ass="q-pa-xs" :title="$t('text.advise')" bgcolor="bg-primary" clcolor="text-white"
mystyle=" " myclass="myshad" canopen="true">
<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/>
<section class="padding_testo bg-white text-grey-10 text-center" v-scroll-reveal.reset>
<div class="landing__features row items-start q-col-gutter-xs intro">
<div class="intro__associazione">
<!--<img src="../../statics/images/scuolaopbenessere/16427623_404497389905092_1266178961781563443_n.jpg">-->
<div class="col-12 text-center"><h4 class="subtitle"></h4>
<p class="text-intro" v-html="$t('pages.content.home')">
</p>
</div>
</q-list>
</div>
</div>
</CTitleBanner>
</section>
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
</div>-->
</div>
</CMyPage>
</q-page>
<!--
<section class="padding bg-primary landing__swirl-bg" v-scroll-reveal.reset>
<div class="landing__features row justify-between items-start q-col-gutter-xs">
<div class="col-12 col-sm-5">
<div class="feature-item"><i aria-hidden="true"
class="q-icon fas fa-users"> </i><h4>
{{$t('')}}</h4>
<p class="feat-descr" v-html="$t('homepage.freesocial.descr')"></p></div>
</div>
<div class="col-12 col-sm-5">
<div class="feature-item"><i aria-hidden="true"
class="q-icon fas fa-user-clock"> </i><h4>
{{$t('')}}</h4>
<p class="feat-descr" v-html="$t('homepage.freetalent.descr')"></p></div>
</div>
<div class="col-12 col-sm-5">
<div class="feature-item"><i aria-hidden="true"
class="q-icon fas fa-apple-alt"> </i><h4>
{{$t('')}}</h4>
<p class="feat-descr" v-html="$t('homepage.freegas.descr')"></p></div>
</div>
<div class="col-12 col-sm-5">
<div class="feature-item"><i aria-hidden="true"
class="q-icon fas fa-home"> </i><h4>
{{$t('')}}</h4>
<p class="feat-descr" v-html="$t('homepage.freeliving.descr')"></p></div>
</div>
</div>
</section>
-->
<Footer></Footer>
</div>
</q-page>
</template>
<script lang="ts" src="./home.ts">
</script>
<style lang="scss" scoped>
@import './home.scss';
@import './home.scss';
</style>

View File

@@ -1,5 +0,0 @@
.signup {
width: 100%;
margin: 0 auto;
max-width: 450px;
}

View File

@@ -1,34 +0,0 @@
import { Component } from 'vue-property-decorator'
import { CMyPage } from '../../components/CMyPage/index'
import { tools } from '@src/store/Modules/tools'
import { Screen } from 'quasar'
import { CCopyBtn, CGuidelines, CImgText, CSignUpNotevole, CTitleBanner, CVideoPromo } from '@components'
import MixinBase from '@src/mixins/mixin-base'
import { static_data } from '@src/db/static_data'
import { UserStore } from '@modules'
@Component({
mixins: [MixinBase],
components: { CMyPage, CTitleBanner, CImgText, CCopyBtn, CVideoPromo, CGuidelines, CSignUpNotevole }
})
export default class Intro extends MixinBase {
public $t: any
public $q
public msg: string = ''
get static_data() {
return static_data
}
public created() {
if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, ''))
tools.setCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited)
}
get invited() {
return this.$route.params.invited
}
}

View File

@@ -1,33 +0,0 @@
<template>
<q-page>
<CMyPage title="">
<div class="q-ma-xs">
<div class="text-center">
<q-img src="statics/images/background.jpg" class="logo"></q-img>
</div>
<CGuidelines>
</CGuidelines>
<CVideoPromo>
</CVideoPromo>
<q-page v-if="!!invited" padding class="signup" >
<CSignUpNotevole :showadultcheck="true" :showcell="true" :showaportador="true" :shownationality="true">
</CSignUpNotevole>
</q-page>
</div>
</CMyPage>
</q-page>
</template>
<script lang="ts" src="./intro.ts">
</script>
<style lang="scss" scoped>
@import './intro.scss';
</style>

View File

@@ -1,5 +0,0 @@
.mypre {
white-space: pre-wrap;
font-size: 1rem;
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
}

View File

@@ -1,52 +0,0 @@
import { Component } from 'vue-property-decorator'
import { CMyPage } from '../../components/CMyPage/index'
import { tools } from '@src/store/Modules/tools'
import { Screen } from 'quasar'
import { CCopyBtn, CImgText, CTitleBanner } from '@components'
import MixinBase from '@src/mixins/mixin-base'
import { static_data } from '@src/db/static_data'
import { UserStore } from '@modules'
@Component({
mixins: [MixinBase],
components: { CMyPage, CTitleBanner, CImgText, CCopyBtn }
})
export default class Invite extends MixinBase {
public $t: any
public $q
public msg: string = ''
get static_data() {
return static_data
}
public mymsg() {
const messaggio = this.getValDbLang('MSG_SHARE', false, '')
return tools.myprintf(messaggio, [{strin: 'linkreg', strout: this.getRefLink}])
// return tools.myprintf(messaggio, [{
// videointro: static_data.costanti.videointro,
// paginaspiegazione: static_data.costanti.paginaspiegazione,
// linkzoom: tools.getLinkZoom()
// }])
// return this.$t('reg.msginvito', {
// videointro: tools.getlinkhref(static_data.costanti.videointro, this.$t('reg.videointro')),
// paginavideo: tools.getlinkhref(static_data.costanti.paginavideo, 'Video'),
// linkzoom: tools.getlinkhref(tools.getLinkZoom(), 'Zoom')
// })
}
public copytoclip() {
tools.copyStringToClipboard(this, this.mymsg(), false)
}
get getRefLink() {
return UserStore.getters.getRefLink(UserStore.state.my.username)
}
}

View File

@@ -1,41 +0,0 @@
<template>
<q-page>
<CMyPage title="">
<div class="q-ma-md">
<CTitleBanner icon="send" class="q-pa-xs" :title="$t('reg.messaggio_invito')" bgcolor="bg-primary"
clcolor="text-white"
mystyle=" " canopen="true">
<p>
{{$t('reg.messaggio_invito_msg')}}
</p>
<br>
<div class="bg-grey-3 q-ma-sm q-pa-md">
<pre class="mypre">{{mymsg()}}</pre>
</div>
<div class="q-ma-sm q-pa-md row justify-center">
<q-btn rounded color="primary" icon="far fa-copy" :label="$t('reg.copia_messaggio')"
@click="copytoclip()"></q-btn>
</div>
<br>
<CCopyBtn :title="$t('reg.reflink')" :texttocopy="getRefLink">
</CCopyBtn>
</CTitleBanner>
</div>
</CMyPage>
</q-page>
</template>
<script lang="ts" src="./invite.ts">
</script>
<style lang="scss" scoped>
@import './invite.scss';
</style>

0
src/root/policy/policy.scss Executable file → Normal file
View File

14
src/root/policy/policy.ts Executable file → Normal file
View File

@@ -1,27 +1,15 @@
import Vue from 'vue'
import { Component } from 'vue-property-decorator'
import { static_data } from '@src/db/static_data'
import { PagePolicy } from '../../components/PagePolicy'
import MixinMetaTags from '@src/mixins/mixin-metatags'
import { tools } from '@src/store/Modules/tools'
@Component({
name: 'Policy',
components: { PagePolicy }
})
export default class Policy extends MixinMetaTags {
export default class Policy extends Vue {
public mioalert = false
public meta() {
return tools.metafunc(this)
}
get static_data() {
return static_data
}
}

21
src/root/policy/policy.vue Executable file → Normal file
View File

@@ -1,20 +1,15 @@
<template>
<q-page class="">
<div class="landing">
<span>{{ setmeta({
title: 'Policy',
description: "Policy",
keywords: 'Policy' } ) }}
</span>
<PagePolicy
owneremail="ayni.gifteconomy@gmail.com"
SiteName="Ayni"
ownerDataName="Ayni"
managerData="Ayni"
includeData="dati anagrafici (ragione sociale, nome, cognome), recapiti (telefono, indirizzo email)"
url="ayni.gifteconomy@gmail.com"
lastdataupdate="16 Gennaio 2020"
country="Italia"
owneremail="info@brigittemgdumont.com"
SiteName="Brigitte MG Domont"
ownerDataName="Brigitte MG Domont"
managerData="Brigitte MG Domont"
includeData=""
url="www.brigittemgdumont.com"
lastdataupdate="29/7/2019"
country="España"
>
</PagePolicy>

View File

@@ -1,470 +0,0 @@
.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

@@ -1,135 +0,0 @@
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: 'Rudy (Audio 1)',
label: '1',
value: 0,
src: 'statics/audio/it/Marco_Ruty.mp3',
type: 'audio/mp3'
},
{
title: 'Elisa (Audio 2)',
label: '2',
value: 1,
src: 'statics/audio/it/spiegazione_Billettera.mp3',
type: 'audio/mp3'
}
]
}
public testimonianze = {
it: [
{
title: '1. Maria',
label: '1',
value: 0,
text: '<p><strong>Come Invitare le persone?</strong><br>' +
'Invitare non è convincere nessuno, invitare non è togliere un impegno, invitare non è pensare a se stessi o al proprio interesse, invitare non è "mettere" qualcuno per aiutarti a realizzare il proprio sogno. <strong>Invitare è:</strong><br>' +
'<ul><li>Ricorda perché hai dato il SI, ricorda cosa ti ha <strong>liberato delle tue paure</strong>.</li>' +
'<li>È per darti la stessa <strong>opportunità</strong> che ti è stata data per realizzare un sogno.</li>' +
'<li>Invitare è trasmettere a qualcuno la tua vita, la tua <strong>felicità</strong> di far parte di questo movimento, con leggerezza, ciò rompe i pregiudizi e cambia i paradigmi.</li>' +
'<li>Aiutare a cambiare un po\' il mondo di quella persona.</li>' +
'<li>Apparire al momento giusto da qualcuno che inconsapevolmente ti stava aspettando.</li></ul>' +
'<p>👉 Quando devi invitare, non sentire che ti danno uno zaino pieno di responsabilità che non sarai in grado di adempiere, non sentire il peso sulla schiena, non sentire che sarai giudicato per averlo fatto "bene" o "male".<br>' +
'Senti che è il tuo turno di comunicare con te stesso e comunicare i tuoi sentimenti verso quella PERSONA che vuoi accompagnare per realizzare nella loro vita. ✨✨ <br>' +
'Ricorda in ogni invito perché sei qui. ❣️ Ricorda i tuoi sogni e i tempi in cui sono cambiati e si sono uniti a molti altri. ' +
'Ricorda i sogni di ciascuna delle persone accanto a te, ricorda la sensazione di gettarti nella fiducia ricorda perché hai deciso di viverla e trasmetterla senza paura con certezza, con fede.<br>' +
'<strong>Invitare è condividere</strong>, è <strong>Amare</strong> in ogni momento <strong>ciò che fai, dici e senti</strong>! E\' credere in ció che vivi e sentirti degno di esso.' +
'</p>'
},
{
title: '2. Giovanni',
label: '2',
value: 1,
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>',
},
]
}
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

@@ -1,126 +0,0 @@
<template>
<q-page>
<CMyPage title="">
<div class="q-ma-md">
<span>{{ setmeta({
title: 'Testimonanze',
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=" " 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="`TESTIMONIANZE AUDIO DELLA BILLETTERA`" bgcolor="bg-primary" clcolor="text-white"
mystyle=" " 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>