diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 33e23f8..a4ed710 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1,16 +1,17 @@
{
- "name": "nuxt-app",
+ "name": "mqtt-win-control",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "nuxt-app",
+ "name": "mqtt-win-control",
"hasInstallScript": true,
"dependencies": {
"@nuxtjs/tailwindcss": "^6.12.1",
"nuxt": "^3.13.0",
"vue": "latest",
- "vue-router": "latest"
+ "vue-router": "latest",
+ "vue3-toastify": "^0.2.2"
}
},
"node_modules/@alloc/quick-lru": {
@@ -10725,6 +10726,28 @@
"vue": "^3.2.0"
}
},
+ "node_modules/vue3-toastify": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/vue3-toastify/-/vue3-toastify-0.2.2.tgz",
+ "integrity": "sha512-D8pmIp2UeU8MU1OY7GktA70HviZ38b1RagN82P7tFu3abUD86w+PjfmbdRch4QVtjVxK+eqKLvi5cXJRndwJfw==",
+ "license": "MIT",
+ "workspaces": [
+ "docs",
+ "playground"
+ ],
+ "engines": {
+ "node": ">=18.18.0",
+ "npm": ">=9.0.0"
+ },
+ "peerDependencies": {
+ "vue": ">=3.2.0"
+ },
+ "peerDependenciesMeta": {
+ "vue": {
+ "optional": true
+ }
+ }
+ },
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 27b1250..f3368e5 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -13,6 +13,7 @@
"@nuxtjs/tailwindcss": "^6.12.1",
"nuxt": "^3.13.0",
"vue": "latest",
- "vue-router": "latest"
+ "vue-router": "latest",
+ "vue3-toastify": "^0.2.2"
}
}
diff --git a/frontend/pages/config/mqtt.vue b/frontend/pages/config/mqtt.vue
index 41a40c8..a3511b6 100644
--- a/frontend/pages/config/mqtt.vue
+++ b/frontend/pages/config/mqtt.vue
@@ -1 +1,91 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/plugins/toast.client.js b/frontend/plugins/toast.client.js
new file mode 100644
index 0000000..cc0bc6f
--- /dev/null
+++ b/frontend/plugins/toast.client.js
@@ -0,0 +1,10 @@
+import Vue3Toastify, { toast } from 'vue3-toastify';
+import 'vue3-toastify/dist/index.css';
+
+export default defineNuxtPlugin((nuxtApp) => {
+ nuxtApp.vueApp.use(Vue3Toastify, { autoClose: 2000 });
+
+ return {
+ provide: { toast },
+ };
+});
\ No newline at end of file
diff --git a/go.mod b/go.mod
index e24f445..f4cfefd 100644
--- a/go.mod
+++ b/go.mod
@@ -11,6 +11,7 @@ require (
github.com/gorilla/websocket v1.5.3 // indirect
github.com/kardianos/service v1.2.2 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
+ github.com/mattn/go-sqlite3 v1.14.24 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/rs/cors v1.11.1 // indirect
github.com/shirou/gopsutil/v4 v4.24.9 // indirect
diff --git a/go.sum b/go.sum
index ee174a4..b620c6a 100644
--- a/go.sum
+++ b/go.sum
@@ -13,6 +13,8 @@ github.com/kardianos/service v1.2.2 h1:ZvePhAHfvo0A7Mftk/tEzqEZ7Q4lgnR8sGz4xu1YX
github.com/kardianos/service v1.2.2/go.mod h1:CIMRFEJVL+0DS1a3Nx06NaMn4Dz63Ng6O7dl0qH0zVM=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
+github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
+github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=