diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js
index 5da6a7f..4238da9 100644
--- a/ui/.eslintrc.js
+++ b/ui/.eslintrc.js
@@ -1,18 +1,18 @@
module.exports = {
root: true,
env: {
- node: true
+ node: true,
},
- 'extends': [
- 'plugin:vue/essential',
- 'eslint:recommended',
- '@vue/typescript/recommended'
+ extends: [
+ "plugin:vue/essential",
+ "eslint:recommended",
+ "@vue/typescript/recommended",
],
parserOptions: {
- ecmaVersion: 2020
+ ecmaVersion: 2020,
},
rules: {
- 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
- 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
- }
-}
+ "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
+ "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
+ },
+};
diff --git a/ui/babel.config.js b/ui/babel.config.js
index e955840..162a3ea 100644
--- a/ui/babel.config.js
+++ b/ui/babel.config.js
@@ -1,5 +1,3 @@
module.exports = {
- presets: [
- '@vue/cli-plugin-babel/preset'
- ]
-}
+ presets: ["@vue/cli-plugin-babel/preset"],
+};
diff --git a/ui/package.json b/ui/package.json
index 0a1ee4f..84b0603 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -24,6 +24,7 @@
"eslint": "^8.52.0",
"eslint-plugin-vue": "^9.18.0",
"luxon": "^3.0.3",
+ "prettier": "^3.0.3",
"register-service-worker": "^1.7.2",
"sass": "~1.69.5",
"sass-loader": "^13.3.2",
diff --git a/ui/public/index.html b/ui/public/index.html
index bc51465..6ab24c2 100644
--- a/ui/public/index.html
+++ b/ui/public/index.html
@@ -1,17 +1,27 @@
-
+
-
-
-
-
+
+
+
+
<%= htmlWebpackPlugin.options.title %>
-
-
+
+
diff --git a/ui/src/main.ts b/ui/src/main.ts
index 5c0c82f..9765f90 100644
--- a/ui/src/main.ts
+++ b/ui/src/main.ts
@@ -1,16 +1,16 @@
-import Vue from "vue"
+import Vue from "vue";
-import "@/registerServiceWorker"
-import "@/sass/fonts.scss"
+import "@/registerServiceWorker";
+import "@/sass/fonts.scss";
-import App from "@/App.vue"
-import ovdashboard from "@/plugins/ovdashboard"
-import vuetify from "@/plugins/vuetify"
+import App from "@/App.vue";
+import ovdashboard from "@/plugins/ovdashboard";
+import vuetify from "@/plugins/vuetify";
-Vue.config.productionTip = false
-Vue.use(ovdashboard)
+Vue.config.productionTip = false;
+Vue.use(ovdashboard);
new Vue({
vuetify,
- render: h => h(App)
-}).$mount('#app')
+ render: (h) => h(App),
+}).$mount("#app");
diff --git a/ui/src/registerServiceWorker.ts b/ui/src/registerServiceWorker.ts
index 76cede0..5b60bb7 100644
--- a/ui/src/registerServiceWorker.ts
+++ b/ui/src/registerServiceWorker.ts
@@ -1,32 +1,34 @@
/* eslint-disable no-console */
-import { register } from 'register-service-worker'
+import { register } from "register-service-worker";
-if (process.env.NODE_ENV === 'production') {
+if (process.env.NODE_ENV === "production") {
register(`${process.env.BASE_URL}service-worker.js`, {
- ready () {
+ ready() {
console.log(
- 'App is being served from cache by a service worker.\n' +
- 'For more details, visit https://goo.gl/AFskqB'
- )
+ "App is being served from cache by a service worker.\n" +
+ "For more details, visit https://goo.gl/AFskqB",
+ );
},
- registered () {
- console.log('Service worker has been registered.')
+ registered() {
+ console.log("Service worker has been registered.");
},
- cached () {
- console.log('Content has been cached for offline use.')
+ cached() {
+ console.log("Content has been cached for offline use.");
},
- updatefound () {
- console.log('New content is downloading.')
+ updatefound() {
+ console.log("New content is downloading.");
},
- updated () {
- console.log('New content is available; please refresh.')
+ updated() {
+ console.log("New content is available; please refresh.");
},
- offline () {
- console.log('No internet connection found. App is running in offline mode.')
+ offline() {
+ console.log(
+ "No internet connection found. App is running in offline mode.",
+ );
},
- error (error) {
- console.error('Error during service worker registration:', error)
- }
- })
+ error(error) {
+ console.error("Error during service worker registration:", error);
+ },
+ });
}
diff --git a/ui/src/sass/fonts.scss b/ui/src/sass/fonts.scss
index f2a5911..8cc227d 100644
--- a/ui/src/sass/fonts.scss
+++ b/ui/src/sass/fonts.scss
@@ -1,11 +1,17 @@
@font-face {
font-family: "Lubalin Graph";
src: url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.eot");
- src: url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.svg#Lubalin BQ") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/60eaf3171fce0c04eb9b3e08bba9bf05.svg#Lubalin BQ")
+ format("svg");
font-weight: bold;
font-style: normal;
}
@@ -13,11 +19,17 @@
@font-face {
font-family: "Lubalin Graph";
src: url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.eot");
- src: url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.svg#LubalinGraph-Book") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/ad42b6e73cbf720f172faa6355b69ec8.svg#LubalinGraph-Book")
+ format("svg");
font-weight: normal;
font-style: normal;
}
@@ -25,11 +37,17 @@
@font-face {
font-family: "Neue Praxis";
src: url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.eot");
- src: url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.svg#PraxisEF") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/95d43d14f7d8f0f4692f507c86a29e25.svg#PraxisEF")
+ format("svg");
font-weight: bold;
font-style: normal;
}
@@ -37,11 +55,17 @@
@font-face {
font-family: "Neue Praxis";
src: url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.eot");
- src: url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.svg#PraxisEF") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/3d62d4fffdd20ba4608e1b29e0f6fb42.svg#PraxisEF")
+ format("svg");
font-weight: normal;
font-style: normal;
}
@@ -49,11 +73,17 @@
@font-face {
font-family: "Neue Demos";
src: url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.eot");
- src: url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.svg#DemosEF") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/57c19d4b8c4d1632fc97994508a35f5d.svg#DemosEF")
+ format("svg");
font-weight: normal;
font-style: normal;
}
@@ -61,11 +91,17 @@
@font-face {
font-family: "Neue Demos";
src: url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.eot");
- src: url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.eot?#iefix") format("embedded-opentype"),
- url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.woff2") format("woff2"),
- url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.woff") format("woff"),
- url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.ttf") format("truetype"),
- url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.svg#DemosEF") format("svg");
+ src:
+ url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.eot?#iefix")
+ format("embedded-opentype"),
+ url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.woff2")
+ format("woff2"),
+ url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.woff")
+ format("woff"),
+ url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.ttf")
+ format("truetype"),
+ url("//db.onlinewebfonts.com/t/ad75fa70682671bbf5a5cec5f6df1470.svg#DemosEF")
+ format("svg");
font-weight: normal;
font-style: italic;
}
@@ -91,4 +127,4 @@
@extend .thw-text-font;
font-style: italic !important;
-}
\ No newline at end of file
+}
diff --git a/ui/src/sass/variables.scss b/ui/src/sass/variables.scss
index 71db673..3290f49 100644
--- a/ui/src/sass/variables.scss
+++ b/ui/src/sass/variables.scss
@@ -1,2 +1,2 @@
$heading-font-family: "Neue Praxis", "Roboto", sans-serif;
-$body-font-family: "Neue Demos", serif;
\ No newline at end of file
+$body-font-family: "Neue Demos", serif;
diff --git a/ui/tsconfig.json b/ui/tsconfig.json
index 5630a81..e3a161c 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.json
@@ -16,20 +16,11 @@
"useDefineForClassFields": true,
"sourceMap": true,
"baseUrl": ".",
- "types": [
- "webpack-env"
- ],
+ "types": ["webpack-env"],
"paths": {
- "@/*": [
- "src/*"
- ]
+ "@/*": ["src/*"]
},
- "lib": [
- "esnext",
- "dom",
- "dom.iterable",
- "scripthost"
- ]
+ "lib": ["esnext", "dom", "dom.iterable", "scripthost"]
},
"include": [
"src/**/*.ts",
@@ -38,7 +29,5 @@
"tests/**/*.ts",
"tests/**/*.tsx"
],
- "exclude": [
- "node_modules"
- ]
-}
\ No newline at end of file
+ "exclude": ["node_modules"]
+}
diff --git a/ui/vue.config.js b/ui/vue.config.js
index b5bcc3a..1775849 100644
--- a/ui/vue.config.js
+++ b/ui/vue.config.js
@@ -1,6 +1,5 @@
-const { defineConfig } = require('@vue/cli-service')
+const { defineConfig } = require("@vue/cli-service");
+
module.exports = defineConfig({
- transpileDependencies: [
- 'vuetify'
- ]
-})
+ transpileDependencies: ["vuetify"],
+});
diff --git a/ui/yarn.lock b/ui/yarn.lock
index 64dfb59..b714c09 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -5585,6 +5585,11 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
+prettier@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643"
+ integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==
+
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
version "5.6.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"