From 95e6aad1f5b45ce5c30cf68243195c2c373ec4cc Mon Sep 17 00:00:00 2001 From: Robert Kossessa Date: Sat, 9 Mar 2024 23:23:47 +0100 Subject: [PATCH] ADD: Basic save --- src/preload/index.d.ts | 1 + src/preload/index.ts | 3 +++ src/renderer/src/components/navbar/Navbar.vue | 3 ++- src/renderer/src/store.ts | 8 ++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts index e5498df..a518141 100644 --- a/src/preload/index.d.ts +++ b/src/preload/index.d.ts @@ -7,6 +7,7 @@ export interface INanoDevicesAPI { callback: (eventid: string, deviceid: string, data: any) => void ): void send(deviceid: string, jsonstr: string): Promise + save(deviceid: string): Promise } export interface IElectronAPI { diff --git a/src/preload/index.ts b/src/preload/index.ts index 83f44e3..b897d78 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -22,6 +22,9 @@ contextBridge.exposeInMainWorld('nanoDevicesAPI', { }, send(deviceid, obj) { return ipcRenderer.invoke('nanodevices:send', deviceid, JSON.stringify(obj)) + }, + save(deviceid) { + return ipcRenderer.invoke('nanodevices:send', deviceid, JSON.stringify({ save: true })) } }) diff --git a/src/renderer/src/components/navbar/Navbar.vue b/src/renderer/src/components/navbar/Navbar.vue index 2b22795..65302d5 100644 --- a/src/renderer/src/components/navbar/Navbar.vue +++ b/src/renderer/src/components/navbar/Navbar.vue @@ -145,6 +145,7 @@ : 'border-2' " class="app-titlebar-button" + @click="nanoDevicesAPI.save(store.connectedId)" > Save @@ -208,7 +209,7 @@ const showDisconnectButton = ref(false) const isMaximized = ref(false) -const { electronAPI } = window +const { electronAPI, nanoDevicesAPI } = window const isMacOS = electronAPI.platform === 'darwin' const zoomFactor = ref(1) diff --git a/src/renderer/src/store.ts b/src/renderer/src/store.ts index dbe5fb8..ff38d43 100644 --- a/src/renderer/src/store.ts +++ b/src/renderer/src/store.ts @@ -14,6 +14,14 @@ import mockData from '@renderer/data/nanoConfig.json' const { nanoDevicesAPI } = window +// TODO: Define Profile type + +// TODO: Define Device type + +// TODO: Define Key type + +// TODO: Define ProfileCategory type + export const useStore = defineStore('main', { state: () => { return {