aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorBastien Wirtz <bastien.wirtz@gmail.com>2022-06-04 22:40:48 +0200
committerBastien Wirtz <bastien.wirtz@gmail.com>2022-07-02 21:16:41 +0200
commitcbbed6346a437e6b9f05f646f1df0c77d2fb36eb (patch)
tree50d887f10739036a374065ebea047f891ad223a7 /src
parent95c589ba71d80ed0073158bbb6f81ec449b058d6 (diff)
downloadhomer-cbbed6346a437e6b9f05f646f1df0c77d2fb36eb.tar.gz
homer-cbbed6346a437e6b9f05f646f1df0c77d2fb36eb.tar.zst
homer-cbbed6346a437e6b9f05f646f1df0c77d2fb36eb.zip
Migrate to VueJS 3
Diffstat (limited to 'src')
-rw-r--r--src/App.vue6
-rw-r--r--src/assets/app.scss2
-rw-r--r--src/components/SearchInput.vue2
-rw-r--r--src/components/Service.vue5
-rw-r--r--src/main.js16
5 files changed, 13 insertions, 18 deletions
diff --git a/src/App.vue b/src/App.vue
index 664867f..43ba322 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -140,8 +140,8 @@
140</template> 140</template>
141 141
142<script> 142<script>
143const jsyaml = require("js-yaml"); 143import jsyaml from "js-yaml";
144const merge = require("lodash.merge"); 144import merge from "lodash.merge";
145 145
146import Navbar from "./components/Navbar.vue"; 146import Navbar from "./components/Navbar.vue";
147import GetStarted from "./components/GetStarted.vue"; 147import GetStarted from "./components/GetStarted.vue";
@@ -153,7 +153,7 @@ import SettingToggle from "./components/SettingToggle.vue";
153import DarkMode from "./components/DarkMode.vue"; 153import DarkMode from "./components/DarkMode.vue";
154import DynamicTheme from "./components/DynamicTheme.vue"; 154import DynamicTheme from "./components/DynamicTheme.vue";
155 155
156import defaultConfig from "./assets/defaults.yml"; 156import defaultConfig from "./assets/defaults.yml?raw";
157 157
158export default { 158export default {
159 name: "App", 159 name: "App",
diff --git a/src/assets/app.scss b/src/assets/app.scss
index ae2cb6b..5102f93 100644
--- a/src/assets/app.scss
+++ b/src/assets/app.scss
@@ -2,7 +2,7 @@
2 2
3@import "./webfonts/webfonts.scss"; 3@import "./webfonts/webfonts.scss";
4 4
5@import "bulma"; 5@import "../../node_modules/bulma/bulma";
6 6
7// Themes import 7// Themes import
8@import "./themes/sui.scss"; 8@import "./themes/sui.scss";
diff --git a/src/components/SearchInput.vue b/src/components/SearchInput.vue
index 165c992..53480e7 100644
--- a/src/components/SearchInput.vue
+++ b/src/components/SearchInput.vue
@@ -75,7 +75,7 @@ export default {
75 this.$emit("input", value.toLowerCase()); 75 this.$emit("input", value.toLowerCase());
76 }, 76 },
77 }, 77 },
78 beforeDestroy() { 78 beforeUnmount() {
79 document.removeEventListener("keydown", this._keyListener); 79 document.removeEventListener("keydown", this._keyListener);
80 }, 80 },
81}; 81};
diff --git a/src/components/Service.vue b/src/components/Service.vue
index 25b86d5..ac378ec 100644
--- a/src/components/Service.vue
+++ b/src/components/Service.vue
@@ -1,8 +1,9 @@
1<template> 1<template>
2 <component v-bind:is="component" :item="item" :proxy="proxy"></component> 2 <component :is="component" :item="item" :proxy="proxy"></component>
3</template> 3</template>
4 4
5<script> 5<script>
6import { defineAsyncComponent } from "vue";
6import Generic from "./services/Generic.vue"; 7import Generic from "./services/Generic.vue";
7 8
8export default { 9export default {
@@ -17,7 +18,7 @@ export default {
17 if (type === "Generic") { 18 if (type === "Generic") {
18 return Generic; 19 return Generic;
19 } 20 }
20 return () => import(`./services/${type}.vue`); 21 return defineAsyncComponent(() => import(`./services/${type}.vue`));
21 }, 22 },
22 }, 23 },
23}; 24};
diff --git a/src/main.js b/src/main.js
index e5995a4..164d290 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,19 +1,13 @@
1import Vue from "vue"; 1import { createApp, h } from "vue";
2import App from "./App.vue"; 2import App from "./App.vue";
3import "./registerServiceWorker";
4 3
5import "@fortawesome/fontawesome-free/css/all.css"; 4import "@fortawesome/fontawesome-free/css/all.css";
6
7import "./assets/app.scss"; 5import "./assets/app.scss";
8 6
9Vue.config.productionTip = false; 7const app = createApp(App);
10 8
11Vue.component("DynamicStyle", { 9app.component("DynamicStyle", (_props, context) => {
12 render: function (createElement) { 10 return h("style", {}, context.slots);
13 return createElement("style", this.$slots.default);
14 },
15}); 11});
16 12
17new Vue({ 13app.mount("#app");
18 render: (h) => h(App),
19}).$mount("#app");