From d00fb0f3be95d4737871626c5aa41fe9065c6040 Mon Sep 17 00:00:00 2001 From: riqo Date: Wed, 23 Jun 2021 07:52:06 -0500 Subject: [PATCH] add navbar listener --- src/composables/useIpcMain.ts | 6 ++---- src/ipc/listeners.ts | 22 ++++++++++++++++++++++ src/render/App.vue | 23 +++++++++++++++++++++-- src/render/components/header.vue | 13 +++++++------ src/render/composables/useIpcRend.ts | 6 +++--- src/render/ipc.ts | 25 ++++++++++++++++++++----- src/session.ts | 1 - src/types.ts | 2 +- src/window.ts | 16 ++++++---------- 9 files changed, 82 insertions(+), 32 deletions(-) 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 @@