diff --git a/gui_vue/dist-electron/main.js b/gui_vue/dist-electron/main.js index f5f90afa..fc9f5e62 100644 --- a/gui_vue/dist-electron/main.js +++ b/gui_vue/dist-electron/main.js @@ -1 +1 @@ -"use strict";const o=require("electron"),n=require("node:path");process.env.DIST=n.join(__dirname,"../dist");process.env.PUBLIC=o.app.isPackaged?process.env.DIST:n.join(process.env.DIST,"../public");let e;const s=process.env.VITE_DEV_SERVER_URL;function t(){e=new o.BrowserWindow({icon:n.join(process.env.PUBLIC,"electron-vite.svg"),webPreferences:{preload:n.join(__dirname,"preload-main.js"),backgroundThrottle:!1,nodeIntegration:!0,contextIsolation:!1,enableRemoteModule:!1,sandbox:!1}}),e.webContents.on("did-finish-load",()=>{e==null||e.webContents.send("main-process-message",new Date().toLocaleString())}),s?e.loadURL(s):e.loadFile(n.join(process.env.DIST,"index.html"))}o.app.on("window-all-closed",()=>{e=null});o.app.whenReady().then(t); +"use strict";const o=require("electron"),n=require("node:path");process.env.ELECTRON_DISABLE_SECURITY_WARNINGS="true";process.env.DIST=n.join(__dirname,"../dist");process.env.PUBLIC=o.app.isPackaged?process.env.DIST:n.join(process.env.DIST,"../public");let e;const s=process.env.VITE_DEV_SERVER_URL;function a(){e=new o.BrowserWindow({icon:n.join(process.env.PUBLIC,"electron-vite.svg"),webPreferences:{preload:n.join(__dirname,"preload-main.js"),backgroundThrottle:!1,nodeIntegration:!0,contextIsolation:!1,enableRemoteModule:!1,sandbox:!1}}),e.webContents.on("did-finish-load",()=>{e==null||e.webContents.send("main-process-message",new Date().toLocaleString())}),s?e.loadURL(s):e.loadFile(n.join(process.env.DIST,"index.html"))}o.app.on("window-all-closed",()=>{e=null});o.app.whenReady().then(a);o.ipcMain.on("request-update-daemon-state",(i,t)=>{e.webContents.send("action-update-daemon-state",t)}); diff --git a/gui_vue/electron/main.ts b/gui_vue/electron/main.ts index a132df9b..7e37e4a5 100644 --- a/gui_vue/electron/main.ts +++ b/gui_vue/electron/main.ts @@ -1,6 +1,14 @@ -import { app, BrowserWindow } from 'electron' +import { app, BrowserWindow, ipcMain } from 'electron' import path from 'node:path' + +//import { useIpcRenderer } from '@vueuse/electron' +//const ipcRenderer = useIpcRenderer() + + + +process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true' + // The built directory structure // // ├─┬─┬ dist @@ -55,3 +63,7 @@ app.on('window-all-closed', () => { }) app.whenReady().then(createWindow) + +ipcMain.on("request-update-daemon-state", (event, arg) => { + win.webContents.send("action-update-daemon-state", arg); +}); diff --git a/gui_vue/package.json b/gui_vue/package.json index 6194888f..d4851e28 100644 --- a/gui_vue/package.json +++ b/gui_vue/package.json @@ -10,30 +10,32 @@ "preview": "vite preview" }, "dependencies": { + "@vueuse/electron": "^10.4.1", "blob-util": "^2.0.2", "bootstrap": "^5.3.1", "bootstrap-icons": "^1.10.5", "bootswatch": "^5.3.1", "browser-image-compression": "^2.0.2", "chart.js": "^4.3.3", - "electron-log": "^4.4.8", - "emoji-picker-element": "^1.18.3", - "emoji-picker-element-data": "^1.4.0", - "mime": "^3.0.0", "chartjs-plugin-annotation": "^3.0.1", "electron-log": "^4.4.8", "electron-updater": "^6.1.1", + "emoji-picker-element": "^1.18.3", + "emoji-picker-element-data": "^1.4.0", + "mime": "^3.0.0", + "pinia": "^2.1.6", "pouchdb": "^8.0.1", "pouchdb-find": "^8.0.1", "pouchdb-upsert": "^2.2.0", "qth-locator": "^2.1.0", "sass": "^1.66.1", + "socket.io": "^4.7.2", "uuid": "^9.0.0", "vue": "^3.2.47" }, "devDependencies": { "@vitejs/plugin-vue": "^4.1.0", - "electron": "^24.4.0", + "electron": "^24.8.2", "electron-builder": "^23.6.0", "typescript": "^5.0.2", "vite": "^4.3.2", diff --git a/gui_vue/setup.md b/gui_vue/setup.md index e8106bd5..bb5f3989 100644 --- a/gui_vue/setup.md +++ b/gui_vue/setup.md @@ -5,4 +5,11 @@ https://github.com/electron-vite https://github.com/electron-vite/electron-vite-vue https://github.com/vuejs/create-vue https://vue-community.org/guide/ecosystem/desktop-apps.html#electron -https://blog.logrocket.com/building-app-electron-vue/ \ No newline at end of file +https://blog.logrocket.com/building-app-electron-vue/ + + +Folder structure +dist-electron: Automatically compiled source from vite +electron: Source code folder for Electron stuff +public: Public data +src: VueJS source code \ No newline at end of file diff --git a/gui_vue/src/components/main_audio.vue b/gui_vue/src/components/main_audio.vue index ec17a096..82a26fb7 100644 --- a/gui_vue/src/components/main_audio.vue +++ b/gui_vue/src/components/main_audio.vue @@ -1,7 +1,20 @@ +