From f9c42c737dd1f7637e5341f3a7073796e0681edf Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 9 Mar 2023 13:42:37 +0100 Subject: [PATCH] fix(i18n): top level await --- src/main.ts | 106 ++++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/src/main.ts b/src/main.ts index c73e3e5fe..d31f2f801 100644 --- a/src/main.ts +++ b/src/main.ts @@ -39,76 +39,76 @@ if (window.API_URL.slice(window.API_URL.length - 1, window.API_URL.length) === ' window.API_URL = window.API_URL.slice(0, window.API_URL.length - 1) } -// We're loading the language before creating the app so that it won't fail to load when the user's -// language file is not yet loaded. -await setLanguage() - -const app = createApp(App) - -app.use(Notifications) - // directives import focus from '@/directives/focus' -import { VTooltip } from 'floating-vue' +import {VTooltip} from 'floating-vue' import 'floating-vue/dist/style.css' import shortcut from '@/directives/shortcut' import cypress from '@/directives/cypress' -app.directive('focus', focus) -app.directive('tooltip', VTooltip) -app.directive('shortcut', shortcut) -app.directive('cy', cypress) - // global components import FontAwesomeIcon from '@/components/misc/Icon' import Button from '@/components/input/button.vue' import Modal from '@/components/misc/modal.vue' import Card from '@/components/misc/card.vue' -app.component('icon', FontAwesomeIcon) -app.component('x-button', Button) -app.component('modal', Modal) -app.component('card', Card) +// We're loading the language before creating the app so that it won't fail to load when the user's +// language file is not yet loaded. +setLanguage().then(() => { + const app = createApp(App) + + app.use(Notifications) + + app.directive('focus', focus) + app.directive('tooltip', VTooltip) + app.directive('shortcut', shortcut) + app.directive('cy', cypress) + + app.component('icon', FontAwesomeIcon) + app.component('x-button', Button) + app.component('modal', Modal) + app.component('card', Card) + + app.config.errorHandler = (err, vm, info) => { + if (import.meta.env.DEV) { + console.error(err, vm, info) + } + error(err) + } -app.config.errorHandler = (err, vm, info) => { if (import.meta.env.DEV) { - console.error(err, vm, info) - } - error(err) -} + app.config.warnHandler = (msg) => { + error(msg) + throw(msg) + } -if (import.meta.env.DEV) { - app.config.warnHandler = (msg) => { - error(msg) - throw(msg) + // https://stackoverflow.com/a/52076738/15522256 + window.addEventListener('error', (err) => { + error(err) + throw err + }) + + + window.addEventListener('unhandledrejection', (err) => { + // event.promise contains the promise object + // event.reason contains the reason for the rejection + error(err) + throw err + }) } - // https://stackoverflow.com/a/52076738/15522256 - window.addEventListener('error', (err) => { - error(err) - throw err - }) + app.config.globalProperties.$message = { + error, + success, + } + if (window.SENTRY_ENABLED) { + import('./sentry').then(sentry => sentry.default(app, router)) + } - window.addEventListener('unhandledrejection', (err) => { - // event.promise contains the promise object - // event.reason contains the reason for the rejection - error(err) - throw err - }) -} + app.use(pinia) + app.use(router) + app.use(i18n) -app.config.globalProperties.$message = { - error, - success, -} - -if (window.SENTRY_ENABLED) { - import('./sentry').then(sentry => sentry.default(app, router)) -} - -app.use(pinia) -app.use(router) -app.use(i18n) - -app.mount('#app') + app.mount('#app') +})