view client/src/main.js @ 1097:874d19f32015

added fontawesome5 and implemented one example icon on login screen
author Markus Kottlaender <markus@intevation.de>
date Thu, 01 Nov 2018 10:19:28 +0100
parents ca628dce90dd
children fb5c83d4ea1d
line wrap: on
line source

/*
 * This is Free Software under GNU Affero General Public License v >= 3.0
 * without warranty, see README.md and license for details.
 * 
 * SPDX-License-Identifier: AGPL-3.0-or-later
 * License-Filename: LICENSES/AGPL-3.0.txt
 * 
 * Copyright (C) 2018 by via donau 
 *   – Österreichische Wasserstraßen-Gesellschaft mbH
 * Software engineering by Intevation GmbH
 * 
 * Author(s):
 * Thomas Junk <thomas.junk@intevation.de>
 */

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import GetTextPlugin from "vue-gettext";
import translations from "./translations.json";
import locale2 from "locale2";
import CxltToastr from "cxlt-vue2-toastr";
import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
import "../node_modules/font-awesome/css/font-awesome.min.css";
import "../node_modules/animate.css/animate.min.css";
import "../node_modules/ol/ol.css";
import "../node_modules/cxlt-vue2-toastr/dist/css/cxlt-vue2-toastr.css";
import "../node_modules/highlight.js/styles/paraiso-dark.css";
import VTooltip from "v-tooltip";
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";

library.add(faEye, faEyeSlash);
Vue.component("font-awesome-icon", FontAwesomeIcon);

Vue.use(VTooltip);

var toastrConfigs = {
  position: "bottom center",
  showDuration: 2000,
  timeOut: 8000,
  closeButton: true
};

Vue.use(CxltToastr, toastrConfigs);

let browserLanguage = locale2;

// planned also SK, HU, HR, RS, BiH, BG, RO, UA
const supportedLanguages = {
  en_GB: "British English",
  de_AT: "Deutsch"
};

if (browserLanguage === "de-DE") {
  browserLanguage = "de-AT"; // map german to austrian variant for now
}

const language = browserLanguage.replace("-", "_");
const isLanguageAvailable = supportedLanguages[language];
let defaultLanguage = isLanguageAvailable ? language : "en_GB";

Vue.use(GetTextPlugin, {
  translations: translations,
  availableLanguages: supportedLanguages,
  defaultLanguage: defaultLanguage
});

Vue.config.productionTip = false;

const app = new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");

export default app;