Altre modifiche...

This commit is contained in:
Paolo Arena
2020-05-04 19:33:15 +02:00
parent 38daf60dfc
commit 4dc599859e
20 changed files with 15792 additions and 28094 deletions

View File

@@ -35,12 +35,7 @@ export default class App extends Vue {
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)
}
console.info('Vers:', process.env.APP_VERSION)
// Make autologin only if some routing
@@ -54,7 +49,7 @@ export default class App extends Vue {
})
if (chiamaautologin) {
console.log('CHIAMA autologin_FromLocalStorage')
// console.log('CHIAMA autologin_FromLocalStorage')
await UserStore.actions.autologin_FromLocalStorage()
.then((loadstorage) => {
if (loadstorage) {

View File

@@ -41,6 +41,7 @@ const msg_website_de = {
dbop: 'Operazioni',
statusreg: {
reg: 'Partecipanti',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Ultime Registrazioni:',
nationality: 'Nazionalità',

View File

@@ -33,6 +33,7 @@ const msg_website_enUs = {
Test2: 'Test2',
statusreg: {
reg: 'Participants',
passeggeri: 'Passengers Ships',
giainlista: 'Already in the List',
newreg: 'New registrations:',
nationality: 'Nationality',

View File

@@ -33,6 +33,7 @@ const msg_website_es = {
Test2: 'Test2',
statusreg: {
reg: 'Participantes',
passeggeri: 'Barcos de pasajeros',
giainlista: 'Gia in Lista',
newreg: 'Nuevas inscripciones :',
nationality: 'Nacionalidad',

View File

@@ -36,6 +36,7 @@ const msg_website_fr = {
Test2: 'Test2',
statusreg: {
reg: 'Participants',
passeggeri: 'Navires à passagers',
giainlista: 'Gia in Lista',
newreg: 'Nouvelles inscriptions:',
nationality: 'Nationalité',

View File

@@ -41,6 +41,7 @@ const msg_website_it = {
dbop: 'Operazioni',
statusreg: {
reg: 'Partecipanti',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Ultime Registrazioni:',
nationality: 'Nazionalità',

View File

@@ -33,6 +33,7 @@ const msg_website_pt = {
Test2: 'Test2',
statusreg: {
reg: 'Participantes',
passeggeri: 'Navios de Passageiros',
giainlista: 'Já na lista',
newreg: 'Últimas Inscrições:',
nationality: 'Nacionalidade',

View File

@@ -29,6 +29,7 @@ const msg_website_si = {
eventodef: 'Dogodek:',
statusreg: {
reg: 'Udeleženci',
passeggeri: 'Potniki Ladjic',
giainlista: 'Že na seznamu',
newreg: 'Zadnje Registracije:',
nationality: 'Nacionalnost',

View File

@@ -136,7 +136,8 @@ const routes_manager: IListRoutes[] = [
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true
onlyManager: true,
onlyTutor: true
},
{
active: true,
@@ -207,7 +208,7 @@ const routes_manager: IListRoutes[] = [
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true
onlyManager: true,
},
{
active: true,
@@ -220,7 +221,8 @@ const routes_manager: IListRoutes[] = [
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true
onlyManager: true,
onlyTraduttrici: true
},
{
active: true,

View File

@@ -19,11 +19,11 @@ p {
margin-left: auto;
margin-right: auto;
max-height: 250px;
max-width: 250px;
max-height: 200px;
max-width: 200px;
@media (max-width: 718px) {
max-height: 180px;
max-width: 180px;
max-height: 100px;
max-width: 100px;
}
}

View File

@@ -1,280 +1,289 @@
<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">
<div style="height: 50px;">
&nbsp;
</div>
<div class="text-center">
<q-img src="statics/images/background.jpg" class="logo"></q-img>
</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>
<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-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-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>
</div>
<div class="landing">
<div v-if="!isLogged">
<div style="height: 15px;">
</div>
</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>
</div>
<q-img src="statics/images/background.jpg" class="logo"></q-img>
</div>
</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/>
</div>
</q-list>
<!--
<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>
<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-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-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>
</div>
</div>
</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>
</div>
</div>
</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/>
</div>
</q-list>
</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>
<CNextZoom>
</CNextZoom>
<CStatusReg>
</CStatusReg>
<div v-if="isLogged">
<CStatus :dense="false"></CStatus>
</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>
<CNextZoom>
</CNextZoom>
<CStatusReg>
</CStatusReg>
<div v-if="isLogged">
<CStatus :dense="false"></CStatus>
</div>
</div>
</CMyPage>
</q-page>
</CMyPage>
</q-page>
</template>
<script lang="ts" src="./home.ts">
</script>
<style lang="scss" scoped>
@import './home.scss';
@import './home.scss';
</style>

View File

@@ -17,9 +17,9 @@ Vue.use(VueRouter)
*/
let TIMER = null
let TIMER_RITORNA = ''
let URL_RITORNA = ''
let TIMER_STATE = 0
let TIMER_RESTORE = ''
let URL_RESTORE = ''
const Router = new VueRouter({
scrollBehavior: () => ({ x: 0, y: 0 } as PositionResult),
@@ -78,6 +78,8 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
}
if (eseguicheck) {
// Qui arrivano gli URL che non sono della lista ROUTE.
// quindi ad esempio http://localhost:8085/signup/paoloar77
if (!TIMER && to.path !== '/') {
// console.log('TIMER')
@@ -85,7 +87,7 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// console.log('SETINTERVAL')
if (GlobalStore.state.finishLoading) {
if (!!TIMER) {
// console.log('TIMER_STATE', TIMER_STATE, 'TIMER_RITORNA', TIMER_RITORNA)
// console.log('TIMER_STATE', TIMER_STATE, 'URL_RITORNA', URL_RITORNA)
if (TIMER_STATE === 2) {
clearInterval(TIMER)
TIMER = null
@@ -93,14 +95,15 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// next('/prova')
// return
}
if (TIMER_RITORNA !== '') {
next(TIMER_RITORNA)
// se mi ero salvato un url per doverci ritornare, allora puntalo a questo:
if (URL_RITORNA !== '') {
// next(URL_RITORNA)
TIMER_STATE = 2
return
} else {
if (TIMER_STATE === 0) {
TIMER_RESTORE = to.path
next('/')
URL_RESTORE = to.path
// next('/')
TIMER_STATE = 1
return
}
@@ -115,9 +118,9 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
if (GlobalStore.state.finishLoading) {
if (!!TIMER) {
// console.log('TIMER_STATE', TIMER_STATE, 'to.path', to.path)
if (TIMER_RITORNA === '' && TIMER_RESTORE !== '') {
TIMER_RITORNA = TIMER_RESTORE
// onsole.log('TIMER_RITORNA', TIMER_RITORNA)
if (URL_RITORNA === '' && URL_RESTORE !== '') {
URL_RITORNA = URL_RESTORE
// onsole.log('URL_RITORNA', URL_RITORNA)
}
}
}

View File

@@ -1 +1 @@
module.exports = require("./config/webpack.config.dev");
module.exports = require("./config/webpack.config.dev");