From 7ae68f079ddfb74c9a1b17c4f30dfe4c258d4a9f Mon Sep 17 00:00:00 2001 From: Zero~Informatique Date: Fri, 20 Dec 2019 17:47:04 +0100 Subject: Viewer project foundations --- viewer/src/plugins/buefy.ts | 9 +++++++++ viewer/src/plugins/fontawesome.js | 9 +++++++++ viewer/src/plugins/i18n.ts | 23 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 viewer/src/plugins/buefy.ts create mode 100644 viewer/src/plugins/fontawesome.js create mode 100644 viewer/src/plugins/i18n.ts (limited to 'viewer/src/plugins') diff --git a/viewer/src/plugins/buefy.ts b/viewer/src/plugins/buefy.ts new file mode 100644 index 0000000..a880cee --- /dev/null +++ b/viewer/src/plugins/buefy.ts @@ -0,0 +1,9 @@ +import Vue from "vue"; + +import Buefy from "buefy"; +import "@/assets/scss/buefy.scss"; + +Vue.use(Buefy, { + defaultIconComponent: 'fa-icon', + defaultIconPack: 'fas', +}); diff --git a/viewer/src/plugins/fontawesome.js b/viewer/src/plugins/fontawesome.js new file mode 100644 index 0000000..9bf4dba --- /dev/null +++ b/viewer/src/plugins/fontawesome.js @@ -0,0 +1,9 @@ +import Vue from "vue"; + +import { library } from "@fortawesome/fontawesome-svg-core"; +import { faExpandArrowsAlt } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; + +library.add(faExpandArrowsAlt); + +Vue.component("fa-icon", FontAwesomeIcon); diff --git a/viewer/src/plugins/i18n.ts b/viewer/src/plugins/i18n.ts new file mode 100644 index 0000000..da2cd87 --- /dev/null +++ b/viewer/src/plugins/i18n.ts @@ -0,0 +1,23 @@ +import Vue from "vue"; +import VueI18n, { LocaleMessages } from "vue-i18n"; + +Vue.use(VueI18n); + +function loadLocaleMessages(): LocaleMessages { + const locales = require.context("@/locales", true, /[A-Za-z0-9-_,\s]+\.json$/i); + const messages: LocaleMessages = {}; + locales.keys().forEach(key => { + const matched = key.match(/([A-Za-z0-9-_]+)\./i); + if (matched && matched.length > 1) { + const locale = matched[1]; + messages[locale] = locales(key); + } + }); + return messages; +} + +export default new VueI18n({ + locale: process.env.VUE_APP_I18N_LOCALE || "en", + fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || "en", + messages: loadLocaleMessages(), +}); -- cgit v1.2.3