2021-07-27 17:47:13 +00:00
|
|
|
import "bootstrap";
|
|
|
|
import { createApp, h } from "vue";
|
2021-08-24 08:44:58 +00:00
|
|
|
import { createI18n } from "vue-i18n"
|
2021-07-27 17:47:13 +00:00
|
|
|
import { createRouter, createWebHistory } from "vue-router";
|
|
|
|
import Toast from "vue-toastification";
|
|
|
|
import "vue-toastification/dist/index.css";
|
|
|
|
import App from "./App.vue";
|
|
|
|
import "./assets/app.scss";
|
|
|
|
import { FontAwesomeIcon } from "./icon.js";
|
|
|
|
import EmptyLayout from "./layouts/EmptyLayout.vue";
|
|
|
|
import Layout from "./layouts/Layout.vue";
|
|
|
|
import socket from "./mixins/socket";
|
2021-08-08 05:47:29 +00:00
|
|
|
import theme from "./mixins/theme";
|
2021-08-10 07:02:46 +00:00
|
|
|
import mobile from "./mixins/mobile";
|
2021-08-17 08:41:12 +00:00
|
|
|
import datetime from "./mixins/datetime";
|
2021-06-25 13:55:49 +00:00
|
|
|
import Dashboard from "./pages/Dashboard.vue";
|
|
|
|
import DashboardHome from "./pages/DashboardHome.vue";
|
|
|
|
import Details from "./pages/Details.vue";
|
|
|
|
import EditMonitor from "./pages/EditMonitor.vue";
|
2021-07-27 17:47:13 +00:00
|
|
|
import Settings from "./pages/Settings.vue";
|
2021-07-11 05:47:57 +00:00
|
|
|
import Setup from "./pages/Setup.vue";
|
2021-08-19 10:12:52 +00:00
|
|
|
import List from "./pages/List.vue";
|
|
|
|
|
2021-08-08 03:03:22 +00:00
|
|
|
import { appName } from "./util.ts";
|
2021-06-25 13:55:49 +00:00
|
|
|
|
2021-08-24 08:44:58 +00:00
|
|
|
import en from "./languages/en";
|
2021-08-24 10:26:44 +00:00
|
|
|
import zhHK from "./languages/zh-HK";
|
2021-08-26 00:43:26 +00:00
|
|
|
import deDE from "./languages/de-DE";
|
2021-08-30 11:46:10 +00:00
|
|
|
import fr from "./languages/fr";
|
2021-09-01 09:32:41 +00:00
|
|
|
import ja from "./languages/ja";
|
2021-09-01 09:51:22 +00:00
|
|
|
import daDK from "./languages/da-DK";
|
2021-09-01 15:29:01 +00:00
|
|
|
import koKR from "./languages/ko-KR";
|
2021-08-24 08:44:58 +00:00
|
|
|
|
2021-06-25 13:55:49 +00:00
|
|
|
const routes = [
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/",
|
2021-06-25 13:55:49 +00:00
|
|
|
component: Layout,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: "root",
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "",
|
2021-06-25 13:55:49 +00:00
|
|
|
component: Dashboard,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: "DashboardHome",
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/dashboard",
|
2021-06-25 13:55:49 +00:00
|
|
|
component: DashboardHome,
|
|
|
|
children: [
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/dashboard/:id",
|
2021-06-27 08:10:55 +00:00
|
|
|
component: EmptyLayout,
|
|
|
|
children: [
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "",
|
2021-06-27 08:10:55 +00:00
|
|
|
component: Details,
|
|
|
|
},
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/edit/:id",
|
2021-06-27 08:10:55 +00:00
|
|
|
component: EditMonitor,
|
|
|
|
},
|
2021-07-27 17:47:13 +00:00
|
|
|
],
|
2021-06-25 13:55:49 +00:00
|
|
|
},
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/add",
|
2021-06-25 13:55:49 +00:00
|
|
|
component: EditMonitor,
|
|
|
|
},
|
2021-08-19 10:12:52 +00:00
|
|
|
{
|
|
|
|
path: "/list",
|
|
|
|
component: List,
|
|
|
|
},
|
2021-07-27 17:47:13 +00:00
|
|
|
],
|
2021-06-25 13:55:49 +00:00
|
|
|
},
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/settings",
|
2021-06-25 13:55:49 +00:00
|
|
|
component: Settings,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2021-07-11 05:47:57 +00:00
|
|
|
|
2021-06-25 13:55:49 +00:00
|
|
|
],
|
2021-07-11 05:47:57 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
{
|
2021-07-27 17:47:13 +00:00
|
|
|
path: "/setup",
|
2021-07-11 05:47:57 +00:00
|
|
|
component: Setup,
|
|
|
|
},
|
2021-06-25 13:55:49 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
const router = createRouter({
|
2021-07-27 17:47:13 +00:00
|
|
|
linkActiveClass: "active",
|
2021-06-25 13:55:49 +00:00
|
|
|
history: createWebHistory(),
|
|
|
|
routes,
|
|
|
|
})
|
|
|
|
|
2021-08-24 08:44:58 +00:00
|
|
|
const languageList = {
|
|
|
|
en,
|
2021-08-24 10:26:44 +00:00
|
|
|
"zh-HK": zhHK,
|
2021-08-26 00:43:26 +00:00
|
|
|
"de-DE": deDE,
|
2021-08-30 11:46:10 +00:00
|
|
|
"fr": fr,
|
2021-09-01 09:32:41 +00:00
|
|
|
"ja": ja,
|
2021-09-01 09:51:22 +00:00
|
|
|
"da-DK": daDK,
|
2021-09-01 15:29:01 +00:00
|
|
|
"ko-KR": koKR,
|
2021-08-24 08:44:58 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const i18n = createI18n({
|
|
|
|
locale: localStorage.locale || "en",
|
|
|
|
fallbackLocale: "en",
|
|
|
|
silentFallbackWarn: true,
|
|
|
|
silentTranslationWarn: true,
|
|
|
|
messages: languageList
|
|
|
|
});
|
|
|
|
|
2021-06-25 13:55:49 +00:00
|
|
|
const app = createApp({
|
|
|
|
mixins: [
|
|
|
|
socket,
|
2021-08-10 07:02:46 +00:00
|
|
|
theme,
|
2021-08-17 08:41:12 +00:00
|
|
|
mobile,
|
|
|
|
datetime
|
2021-06-25 13:55:49 +00:00
|
|
|
],
|
2021-08-08 03:03:22 +00:00
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
appName: appName
|
|
|
|
}
|
|
|
|
},
|
2021-07-27 17:47:13 +00:00
|
|
|
render: () => h(App),
|
2021-06-25 13:55:49 +00:00
|
|
|
})
|
|
|
|
|
2021-08-24 08:44:58 +00:00
|
|
|
app.use(router);
|
|
|
|
app.use(i18n);
|
2021-06-25 13:55:49 +00:00
|
|
|
|
|
|
|
const options = {
|
2021-07-27 17:47:13 +00:00
|
|
|
position: "bottom-right",
|
2021-06-25 13:55:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
app.use(Toast, options);
|
|
|
|
|
2021-07-27 17:47:13 +00:00
|
|
|
app.component("FontAwesomeIcon", FontAwesomeIcon)
|
2021-07-27 08:52:44 +00:00
|
|
|
|
2021-07-27 17:47:13 +00:00
|
|
|
app.mount("#app")
|