34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { createApp } from 'vue'
|
|
import { createPinia } from 'pinia'
|
|
import { QueryClient, VueQueryPlugin } from '@tanstack/vue-query'
|
|
import { createRouter, createWebHistory } from 'vue-router'
|
|
import PrimeVue from 'primevue/config'
|
|
import Aura from '@primeuix/themes/aura'
|
|
import App from './App.vue'
|
|
import { appRoutes } from './router/appRoutes'
|
|
import { installKbx } from './app/installKbx'
|
|
import { installFrontendDemoApi } from './http/demo/installFrontendDemoApi'
|
|
import './styles/app.css'
|
|
|
|
if (import.meta.env.VITE_KBX_DEMO_MODE === 'true') installFrontendDemoApi()
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes: appRoutes,
|
|
scrollBehavior: () => ({ top: 0 }),
|
|
})
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: { retry: 1, refetchOnWindowFocus: false },
|
|
mutations: { retry: 0 },
|
|
},
|
|
})
|
|
|
|
const app = createApp(App)
|
|
app.use(createPinia())
|
|
app.use(router)
|
|
app.use(VueQueryPlugin, { queryClient })
|
|
app.use(PrimeVue, { theme: { preset: Aura, options: { darkModeSelector: '[data-kbx-theme=\"dark\"]' } }, ripple: false })
|
|
installKbx(app)
|
|
app.mount('#app')
|