aboutsummaryrefslogtreecommitdiffstats
path: root/src/preload
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-21 11:40:02 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-21 11:40:02 -0700
commit1e197556481181dbf1f0239f4ec2740cfa5aa790 (patch)
tree2766bf9f085fac6bfaa8c8c71d4403f253c75d6d /src/preload
initial commit
Diffstat (limited to 'src/preload')
-rw-r--r--src/preload/index.d.ts19
-rw-r--r--src/preload/index.ts19
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')
+ }
+})
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage