diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-21 11:40:02 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-21 11:40:02 -0700 |
| commit | 1e197556481181dbf1f0239f4ec2740cfa5aa790 (patch) | |
| tree | 2766bf9f085fac6bfaa8c8c71d4403f253c75d6d /src/preload | |
initial commit
Diffstat (limited to 'src/preload')
| -rw-r--r-- | src/preload/index.d.ts | 19 | ||||
| -rw-r--r-- | src/preload/index.ts | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts new file mode 100644 index 0000000..dd64a3f --- /dev/null +++ b/src/preload/index.d.ts @@ -0,0 +1,19 @@ +declare global { + interface Window { + electron: { + ipcRenderer: { + send: (channel: string, data?: unknown) => void + on: (channel: string, func: (...args: unknown[]) => void) => void + removeListener: (channel: string, func: (...args: unknown[]) => void) => void + } + config: { + getChannelNicknames: () => Promise<Record<string, string>> + setChannelNickname: (channelId: string, nickname: string) => Promise<boolean> + removeChannelNickname: (channelId: string) => Promise<boolean> + getChannelList: () => Promise<Array<{ id: string; nickname: string }>> + } + } + } +} + +export {} diff --git a/src/preload/index.ts b/src/preload/index.ts new file mode 100644 index 0000000..84ff03c --- /dev/null +++ b/src/preload/index.ts @@ -0,0 +1,19 @@ +import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron' + +contextBridge.exposeInMainWorld('electron', { + ipcRenderer: { + send: (channel: string, data?: unknown) => ipcRenderer.send(channel, data), + on: (channel: string, func: (...args: unknown[]) => void) => + ipcRenderer.on(channel, (_: IpcRendererEvent, ...args) => func(...args)), + removeListener: (channel: string, func: (...args: unknown[]) => void) => + ipcRenderer.removeListener(channel, func) + }, + config: { + getChannelNicknames: () => ipcRenderer.invoke('config:get-channel-nicknames'), + setChannelNickname: (channelId: string, nickname: string) => + ipcRenderer.invoke('config:set-channel-nickname', channelId, nickname), + removeChannelNickname: (channelId: string) => + ipcRenderer.invoke('config:remove-channel-nickname', channelId), + getChannelList: () => ipcRenderer.invoke('config:get-channel-list') + } +}) |
