Files
cnm/src/root/home/home.ts
Paolo Arena 1e8f58b930 - Iscrizione Conacreis
- Ordini
- Carrello
2021-04-30 01:31:44 +02:00

330 lines
7.2 KiB
TypeScript
Executable File

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 { tools } from '@src/store/Modules/tools'
import { func_tools, toolsext } from '@src/store/Modules/toolsext'
import MixinMetaTags from '@src/mixins/mixin-metatags'
import {
CCardCarousel,
CImgText,
CTitleBanner,
CStatus,
CStatusReg,
CNextZoom,
CVerifyTelegram, CVerifyEmail, CECommerce, CShareWithUs, CEventsCalendar
} from '@components'
import MixinBase from '@src/mixins/mixin-base'
import { static_data } from '@src/db/static_data'
import { INotData } from '@src/model'
@Component({
mixins: [MixinBase],
components: {
Logo,
Footer,
CMyPage,
CCardCarousel,
CTitleBanner,
CImgText,
CStatus,
CStatusReg,
CNextZoom,
CVerifyTelegram,
CVerifyEmail,
CECommerce,
CEventsCalendar,
CShareWithUs
}
})
export default class Home extends MixinBase {
public deferredPrompt: any = null
public showbuttonHS: boolean = false
public text: string = ''
public visibile: boolean = false
public cardvisible: string = 'hidden'
public displaycard: string = 'block'
public $t: any
// public firstClassSection: string = 'landing_background fade homep-cover-img animate-fade homep-cover-img-1'
public firstClassSection: string = 'fade homep-cover-img animate-fade homep-cover-img-1'
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 animare: number = 0
public endload: boolean = false
public indvideo: number = 0
public arrvideo_yt = []
public arrvideo_mp4 = []
public arrsteps = [
{
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',
}
]
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'
},
]
constructor() {
super()
// console.log('Home constructor...')
this.initprompt()
}
public meta() {
return tools.metafunc(this)
}
get notevolerec() {
return UserStore.state
}
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(() => {
this.firstClassSection = 'landing_background fade homep-cover-img ' + (primo ? 'homep-cover-img-2' : 'homep-cover-img-1')
primo = !primo
// console.log('this.firstClassSection', this.firstClassSection)
}, mytime)
}
public 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 isSocio() {
return UserStore.state.my.profile.socio
}
get isSocioResidente() {
return UserStore.state.my.profile.socioresidente
}
get isConsiglio() {
return UserStore.state.my.profile.consiglio
}
get static_data() {
return static_data
}
public mystilecard() {
return {
visibility: this.cardvisible,
display: this.displaycard
}
}
get conta() {
return GlobalStore.state.conta
}
public getenv(myvar) {
return process.env[myvar]
}
set conta(valore) {
GlobalStore.actions.setConta(valore)
const my = this.$q.lang.isoName
tools.showNotif(this.$q, String(my))
}
public addtoHomeScreen() {
if (!!this.deferredPrompt) {
this.deferredPrompt.prompt()
// Wait for the user to respond to the prompt
this.deferredPrompt.userChoice.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
this.showbuttonHS = false
console.log('User accepted the A2HS prompt')
} else {
console.log('User dismissed the A2HS prompt')
}
this.deferredPrompt = null
})
}
}
public initprompt() {
window.addEventListener('beforeinstallprompt', (event) => {
console.log('******************************** beforeinstallprompt fired')
event.preventDefault()
this.deferredPrompt = event
// Update UI to notify the user they can add to home screen
this.showbuttonHS = true
})
window.addEventListener('appinstalled', (evt) => {
// Log install to analytics
console.log('INSTALL: Success')
})
}
get isInCostruction() {
return process.env.IN_CONSTRUCTION === '1'
}
public getPermission() {
return Notification.permission
}
public NotServiceWorker() {
return (!('serviceWorker' in navigator))
}
public PagLogin() {
this.$router.replace('/signin')
}
public PagReg() {
this.$router.replace('/signup')
}
public openCreatePostModal() {
console.log('APERTO ! openCreatePostModal')
this.conta = this.conta + 1
this.visibile = !this.visibile
if (this.visibile) {
this.displaycard = 'block'
this.cardvisible = 'visible'
} else {
this.displaycard = 'block'
this.cardvisible = 'hidden'
}
}
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
GlobalStore.state.rightCartOpen = false
}
get TelegCode() {
return UserStore.state.my.profile.teleg_checkcode
}
public changetab(val) {
tools.setCookie(tools.TABBED_HOME, val)
}
}