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')