Files
myprojplanet_vite/src/App.ts

148 lines
3.7 KiB
TypeScript
Raw Normal View History

2021-09-16 21:08:02 +02:00
import { useRoute, useRouter } from 'vue-router'
2021-08-31 18:09:59 +02:00
import { useQuasar } from 'quasar'
2021-09-16 21:08:02 +02:00
import { BannerCookies } from '@/components/BannerCookies'
2021-08-31 18:09:59 +02:00
import { useI18n } from '@src/boot/i18n'
2021-09-16 21:08:02 +02:00
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
2022-07-10 01:24:54 +02:00
import { MyHeader } from '@/components/MyHeader'
import { MyFooter } from '@/components/MyFooter'
import { CFirstPageApp } from '@/components/CFirstPageApp'
2022-11-23 10:27:36 +01:00
import { computed, onMounted, ref, watch } from 'vue'
2021-09-16 21:08:02 +02:00
import { CProvaPao } from '@/components/CProvaPao'
import { tools } from '@store/Modules/tools'
2021-08-31 18:09:59 +02:00
2022-11-20 10:21:02 +01:00
import 'animate.css';
2021-08-31 18:09:59 +02:00
export default {
components: {
2022-07-10 01:24:54 +02:00
appHeader: MyHeader,
appFooter: MyFooter,
CFirstPageApp,
2021-09-16 21:08:02 +02:00
CProvaPao,
2021-08-31 18:09:59 +02:00
BannerCookies, /* , CPreloadImages */
},
setup() {
const route = useRoute()
const backgroundColor = 'whitesmoke'
const $q = useQuasar()
const userStore = useUserStore()
2021-09-16 21:08:02 +02:00
const $router = useRouter()
2021-08-31 18:09:59 +02:00
const globalStore = useGlobalStore()
const { t } = useI18n();
2021-09-16 21:08:02 +02:00
const finishLoading = computed(() => globalStore.finishLoading)
2022-11-23 10:27:36 +01:00
const site = computed(() => globalStore.site)
2022-11-29 15:25:06 +01:00
const darkcookie = ref(false)
2022-11-23 10:27:36 +01:00
watch(() => finishLoading.value, (newval: boolean, oldval: boolean) => {
// console.log('watch finished', newval)
2022-11-23 10:27:36 +01:00
if (newval) {
tools.updateFonts()
2022-11-23 10:27:36 +01:00
}
})
2022-11-29 15:25:06 +01:00
2021-08-31 18:09:59 +02:00
const listaRoutingNoLogin = ['/vreg?', '/offline']
function meta() {
return {
title: t('msg.myAppName'),
keywords: [{ name: 'keywords', content: 'associazione shen, centro olistico lugo' },
2022-11-23 10:27:36 +01:00
{ name: 'description', content: t('msg.myAppDescription') }],
2021-08-31 18:09:59 +02:00
// equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' }
}
}
function isScrolledIntoView(el: any) {
2022-11-23 10:27:36 +01:00
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')
}
}
}
2022-12-20 10:58:55 +01:00
2022-11-23 10:27:36 +01:00
function mounted() {
console.log('app mounted')
2022-11-29 15:25:06 +01:00
darkcookie.value = tools.getCookie('darkmode', false, false, false) === '-1'
2022-11-23 10:27:36 +01:00
scroll()
}
2021-10-01 03:08:43 +02:00
async function created() {
tools.initprompt()
tools.checkApp()
try {
if (process.env.DEV) {
console.info('SESSIONE IN SVILUPPO ! (DEV)')
// console.info(process.env)
}
2022-11-23 10:27:36 +01:00
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)
}
}
2021-08-31 18:09:59 +02:00
// Make autologin only if some routing
2021-08-31 18:09:59 +02:00
// console.log('window.location.href', window.location.href)
let chiamaautologin = true
listaRoutingNoLogin.forEach((mystr) => {
if (window.location.href.includes(mystr)) {
chiamaautologin = false
}
})
2021-08-31 18:09:59 +02:00
if (chiamaautologin) {
// console.log('CHIAMA autologin_FromLocalStorage')
await userStore.autologin_FromLocalStorage($router, $q)
} else {
globalStore.finishLoading = true
}
2022-11-23 10:27:36 +01:00
tools.updateFonts()
} catch (e) {
2021-09-16 21:08:02 +02:00
globalStore.finishLoading = true
2021-08-31 18:09:59 +02:00
}
// Calling the Server for updates ?
// Check the verified_email
}
2022-11-23 10:27:36 +01:00
onMounted(mounted)
2021-08-31 18:09:59 +02:00
created()
return {
2021-09-16 21:08:02 +02:00
finishLoading,
2022-11-29 15:25:06 +01:00
darkcookie,
2021-08-31 18:09:59 +02:00
}
},
}