diff --git a/src/composables/useIpcMain.ts b/src/composables/useIpcMain.ts index ebfc4bc..4c3ba24 100644 --- a/src/composables/useIpcMain.ts +++ b/src/composables/useIpcMain.ts @@ -71,12 +71,10 @@ export class IpcListener implements IIpcListener { ipcMain.removeAllListeners(this.channel); } - private _onPost = (_e: IpcMainEvent, payload?: string | null): void => { + private _onPost = (_e: IpcMainEvent, payload: InputParam): void => { console.log(`[IPC] Post: ${this.channel}`); - - const params = payload ? JSON.parse(payload) : null; - this._listenerCallback(params); + this._listenerCallback(payload); } } diff --git a/src/ipc/listeners.ts b/src/ipc/listeners.ts index 8ef5d45..cb17f65 100644 --- a/src/ipc/listeners.ts +++ b/src/ipc/listeners.ts @@ -3,10 +3,13 @@ import { IpcListener } from "@/composables/useIpcMain" import { sendMessage } from '@/session'; import { collect } from "@/audio"; import { updateAppState } from "@/account"; +import { onNavBar } from "@/window"; const CLIENT_MESSAGE_CHANNEL = "post-session-send" const GET_AUDIO_CHANNEL = "post-audio-collect"; const APP_MOUNT_CHANNEL = "post-app-mount"; +const NAV_BAR_CHANNEL = "post-nav-bar"; +const WINDOW_BLUR_CHANNEL = "post-window-focus"; export const messageListener = new IpcListener({ channel: CLIENT_MESSAGE_CHANNEL, @@ -22,3 +25,22 @@ export const appMountListener = new IpcListener({ channel: APP_MOUNT_CHANNEL, listenerCallback: updateAppState }); + +export const navBarListener = new IpcListener({ + channel: NAV_BAR_CHANNEL, + listenerCallback: onNavBar +}); + + +const onWindowFocus: IpcListenerCallback<{ isFocused: boolean }> = (payload) => { + if (payload.isFocused) { + console.log('window is focused') + } else { + console.log('window is blurred') + } +} + +export const windowFocusListener = new IpcListener({ + channel: WINDOW_BLUR_CHANNEL, + listenerCallback: onWindowFocus +}); diff --git a/src/render/App.vue b/src/render/App.vue index 686591b..7337147 100644 --- a/src/render/App.vue +++ b/src/render/App.vue @@ -21,7 +21,7 @@