Files
salvato.newfreeplanet/src/App.ts
2023-01-25 20:52:47 +01:00

151 lines
3.8 KiB
TypeScript
Executable File

import { useRoute, useRouter } from 'vue-router'
import { useQuasar } from 'quasar'
import { BannerCookies } from '@/components/BannerCookies'
import { useI18n } from '@src/boot/i18n'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { MyHeader } from '@/components/MyHeader'
import { MyFooter } from '@/components/MyFooter'
import { CFirstPageApp } from '@/components/CFirstPageApp'
import { computed, onMounted, ref, watch } from 'vue'
import { CProvaPao } from '@/components/CProvaPao'
import { tools } from '@store/Modules/tools'
import 'animate.css';
export default {
components: {
appHeader: MyHeader,
appFooter: MyFooter,
CFirstPageApp,
CProvaPao,
BannerCookies, /* , CPreloadImages */
},
setup() {
const route = useRoute()
const backgroundColor = 'whitesmoke'
const $q = useQuasar()
const userStore = useUserStore()
const $router = useRouter()
const $route = useRoute()
const globalStore = useGlobalStore()
const { t } = useI18n();
const finishLoading = computed(() => globalStore.finishLoading)
const site = computed(() => globalStore.site)
const darkcookie = ref(false)
watch(() => finishLoading.value, (newval: boolean, oldval: boolean) => {
// console.log('watch finished', newval)
if (newval) {
tools.updateFonts()
}
})
const listaRoutingNoLogin = ['/vreg?', '/offline']
function meta() {
return {
title: t('msg.myAppName'),
keywords: [{ name: 'keywords', content: 'associazione shen, centro olistico lugo' },
{ name: 'description', content: t('msg.myAppDescription') }],
// equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' }
}
}
function isScrolledIntoView(el: any) {
let rect = el.getBoundingClientRect()
let elemTop = rect.top
let elemBottom = rect.bottom
let isVisible = elemTop < window.innerHeight && elemBottom >= 0
return isVisible
}
function scroll() {
window.onscroll = () => {
let scrolledTo = document.querySelector('.replace-with-your-element')
if (scrolledTo && isScrolledIntoView(scrolledTo)) {
console.log('scrolled')
}
}
}
function mounted() {
console.log('app mounted')
darkcookie.value = tools.getCookie('darkmode', false, false, false) === '-1'
globalStore.homescreen = $route.query.homescreen ? $route.query.homescreen : ''
scroll()
}
async function created() {
tools.initprompt()
tools.checkApp()
try {
if (process.env.DEV) {
console.info('SESSIONE IN SVILUPPO ! (DEV)')
// console.info(process.env)
}
if (tools.isTest() && !process.env.DEV) {
console.info('SESSIONE IN TEST ! (TEST)')
} else {
if (process.env.PROD) {
console.info('SESSIONE IN PRODUZIONE!')
// console.info(process.env)
}
}
// Make autologin only if some routing
// console.log('window.location.href', window.location.href)
let chiamaautologin = true
listaRoutingNoLogin.forEach((mystr) => {
if (window.location.href.includes(mystr)) {
chiamaautologin = false
}
})
if (chiamaautologin) {
// console.log('CHIAMA autologin_FromLocalStorage')
await userStore.autologin_FromLocalStorage($router, $q)
} else {
globalStore.finishLoading = true
}
tools.updateFonts()
} catch (e) {
globalStore.finishLoading = true
}
// Calling the Server for updates ?
// Check the verified_email
}
onMounted(mounted)
created()
return {
finishLoading,
darkcookie,
}
},
}