import { defineDefaultAPIStoreOptions } from '@rokoli/bnb/drf' import BootstrapVue from 'bootstrap-vue' import { merge } from 'lodash' import { createPinia } from 'pinia' import { createApp } from 'vue' import VueToast from 'vue-toast-notification' import { TranslationPlugin } from './i18n' import router from './router' import store from './store' import App from './App.vue' import 'vue-toast-notification/dist/theme-default.css' import '../node_modules/bootstrap-vue/dist/bootstrap-vue.css' import '../node_modules/bootstrap/scss/bootstrap.scss' import './assets/custom.scss' import './assets/styles/tailwind.css' import { shouldLog } from '@/utilities' import { useAuthStore } from '@/stores/auth' defineDefaultAPIStoreOptions({ mergeDriver: merge }) const pinia = createPinia() const app = createApp(App) app.config.warnHandler = (message, instance, trace) => { if (shouldLog(message, instance, trace)) { console.warn(`[Vue warn]: ${message}`, trace) } } app.use(store) app.use(pinia) app.use(router) app.use(BootstrapVue) app.use(TranslationPlugin) app.use(VueToast, { position: 'bottom-left' }) store.$log = window.console app.use({ install(Vue) { Vue.prototype.$log = window.console }, }) app.mount('#app') const authStore = useAuthStore() void authStore.init()