yunohost-admin/app/src/main.js

79 lines
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'
2021-08-14 14:37:19 +02:00
import VueShowdown from 'vue-showdown'
2020-08-29 19:05:56 +02:00
import store from './store'
import router from './router'
import i18n from './i18n'
import { registerGlobalErrorHandlers } from './api'
import { initDefaultLocales } from './i18n/helpers'
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 }
})
2020-08-29 19:05:56 +02:00
2021-08-14 14:37:19 +02:00
Vue.use(VueShowdown, {
options: {
emoji: true
}
})
// 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, {
2021-03-17 15:35:01 +01:00
okTitle: this.$i18n.t('ok'),
cancelTitle: this.$i18n.t('cancel'),
bodyBgVariant: 'warning',
centered: true,
bodyClass: ['font-weight-bold', 'rounded-top', store.state.theme ? 'text-white' : 'text-black'],
...props
})
}
2022-11-23 16:18:16 +01:00
Vue.prototype.$askMdConfirmation = function (markdown, props, ok = false) {
const content = this.$createElement('vue-showdown', {
props: { markdown, flavor: 'github', options: { headerLevelStart: 4 } }
})
return this.$bvModal['msgBox' + (ok ? 'Ok' : 'Confirm')](content, {
okTitle: this.$i18n.t('yes'),
cancelTitle: this.$i18n.t('cancel'),
headerBgVariant: 'warning',
headerClass: store.state.theme ? 'text-white' : 'text-black',
centered: true,
...props
})
}
// Register global components
const globalComponentsModules = import.meta.glob([
'@/components/globals/*.vue',
'@/components/globals/*/*.vue'
], { eager: true })
Object.values(globalComponentsModules).forEach((module) => {
const component = module.default
2020-07-15 16:39:24 +02:00
Vue.component(component.name, component)
})
registerGlobalErrorHandlers()
// Load default locales translations files and setup store data
initDefaultLocales().then(() => {
const app = new Vue({
store,
router,
i18n,
render: h => h(App)
})
app.$mount('#app')
})