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"