82 lines
2.1 KiB
TypeScript
82 lines
2.1 KiB
TypeScript
import { createApp } from 'vue'
|
|
import { createHead } from '@unhead/vue'
|
|
import { Head } from '@unhead/vue/components'
|
|
import { VueQueryPlugin, type VueQueryPluginOptions } from '@tanstack/vue-query'
|
|
// import { createPinia } from 'pinia'
|
|
import PouchDB from '@/api/PouchDB'
|
|
|
|
import PrimeVue from 'primevue/config'
|
|
import { definePreset } from '@primevue/themes'
|
|
import Aura from '@primevue/themes/aura'
|
|
import './style.css'
|
|
import 'primeicons/primeicons.css'
|
|
|
|
const MyPreset = definePreset(Aura, {
|
|
semantic: {
|
|
primary: {
|
|
50: '{rose.50}',
|
|
100: '{rose.100}',
|
|
200: '{rose.200}',
|
|
300: '{rose.300}',
|
|
400: '{rose.400}',
|
|
500: '{rose.500}',
|
|
600: '{rose.600}',
|
|
700: '{rose.700}',
|
|
800: '{rose.800}',
|
|
900: '{rose.900}',
|
|
950: '{rose.950}',
|
|
},
|
|
},
|
|
})
|
|
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
import { registerServiceWorker } from '@/registerServiceWorker'
|
|
|
|
const app = createApp(App)
|
|
|
|
const vueQueryPluginOptions: VueQueryPluginOptions = {
|
|
enableDevtoolsV6Plugin: import.meta.env.DEV,
|
|
queryClientConfig: {
|
|
defaultOptions: {
|
|
queries: {
|
|
refetchOnWindowFocus: false,
|
|
retryOnMount: false,
|
|
retry: false,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
app.use(createHead())
|
|
app.component('MetaHead', Head)
|
|
app.use(VueQueryPlugin, vueQueryPluginOptions)
|
|
// app.use(createPinia())
|
|
app.use(router)
|
|
app.use(PrimeVue, {
|
|
theme: {
|
|
preset: MyPreset,
|
|
options: {
|
|
darkModeSelector: false,
|
|
},
|
|
},
|
|
})
|
|
|
|
app.mount('#app')
|
|
|
|
registerServiceWorker()
|
|
.then(() => {
|
|
console.log('Service Worker успешно зарегистрирован')
|
|
navigator.serviceWorker.addEventListener('message', (event) => {
|
|
console.debug('serviceWorker message', event.data)
|
|
if (event.data.type === 'notificationClick' && !event.data.matchUrl) {
|
|
const url = new URL(event.data.url, location.origin)
|
|
console.debug('go to', `${url.pathname}${url.search}${url.hash}`)
|
|
router.push(`${url.pathname}${url.search}${url.hash}`)
|
|
}
|
|
})
|
|
})
|
|
.catch(console.error)
|
|
|
|
window.PouchDB = PouchDB // it for debug in console only
|