yunohost-admin/app/src/main.js

49 lines
1.2 KiB
JavaScript
Raw Normal View History

2020-07-06 19:08:34 +02:00
import Vue from 'vue'
import App from './App.vue'
2020-08-29 19:05:56 +02:00
import BootstrapVue from 'bootstrap-vue'
import i18n from './i18n'
2020-08-29 19:05:56 +02:00
import router from './router'
import store from './store'
2020-07-06 19:08:34 +02:00
Vue.config.productionTip = false
2020-08-29 19:05:56 +02:00
// Styles are imported in `src/App.vue` <style>
Vue.use(BootstrapVue, {
BSkeleton: { animation: 'none' },
BAlert: { show: true },
BBadge: { pill: true },
BModal: {
bodyBgVariant: 'warning',
centered: true,
bodyClass: ['font-weight-bold', 'rounded-top']
}
})
2020-08-29 19:05:56 +02:00
// Ugly wrapper for `$bvModal.msgBoxConfirm` to set default i18n button titles
// FIXME find or wait for a better way
Vue.prototype.$askConfirmation = function (message, props) {
return this.$bvModal.msgBoxConfirm(message, {
okTitle: this.$i18n.t('yes'),
cancelTitle: this.$i18n.t('cancel'),
...props
})
}
// Register global components
const requireComponent = require.context('@/components/globals', true, /\.(js|vue)$/i)
// For each matching file name...
requireComponent.keys().forEach((fileName) => {
// Get the component
const component = requireComponent(fileName).default
// Globally register the component
2020-07-15 16:39:24 +02:00
Vue.component(component.name, component)
})
2020-07-06 19:08:34 +02:00
new Vue({
2020-07-15 16:39:24 +02:00
i18n,
router,
store,
render: h => h(App)
2020-07-06 19:08:34 +02:00
}).$mount('#app')