Skip to content
Snippets Groups Projects
main.js 1.26 KiB
Newer Older
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'
Richard Blechinger's avatar
Richard Blechinger committed
import 'vue-toast-notification/dist/theme-default.css'
Konrad Mohrfeldt's avatar
Konrad Mohrfeldt committed
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(pinia)
app.use(router)
app.use(BootstrapVue)
app.use(TranslationPlugin)
Konrad Mohrfeldt's avatar
Konrad Mohrfeldt committed
app.use(VueToast, { position: 'bottom-left' })
store.$log = window.console
app.use({
  install(Vue) {
    Vue.prototype.$log = window.console
  },
})
const authStore = useAuthStore()
void authStore.init()