armcord/src/preload/bridge.ts

33 lines
1.3 KiB
TypeScript
Raw Normal View History

import { contextBridge, ipcRenderer } from "electron";
import { getDisplayMediaSelector } from "./capturer";
import { injectTitlebar } from "./titlebar";
2021-12-24 21:56:49 +00:00
contextBridge.exposeInMainWorld("armcord", {
window: {
show: () => ipcRenderer.send("win-show"),
hide: () => ipcRenderer.send("win-hide"),
minimize: () => ipcRenderer.send("win-minimize"),
maximize: () => ipcRenderer.send("win-maximize"),
2021-12-24 21:56:49 +00:00
},
titlebar: {
injectTitlebar: () => injectTitlebar(),
2022-01-30 19:48:32 +00:00
isTitlebar: ipcRenderer.sendSync("titlebar"),
},
2021-12-24 21:56:49 +00:00
electron: process.versions.electron,
2022-01-15 21:21:51 +00:00
channel: ipcRenderer.sendSync("channel"),
2022-02-26 21:26:16 +00:00
openTab: (number: number) => ipcRenderer.sendSync("openTab", number),
version: ipcRenderer.sendSync("get-app-version", "app-version"),
2021-12-24 21:56:49 +00:00
getDisplayMediaSelector: getDisplayMediaSelector,
2022-01-30 19:48:32 +00:00
openSettingsWindow: () => ipcRenderer.send("openSettingsWindow"),
});
2022-01-30 19:48:32 +00:00
//to be only used inside armcord internal setup/splash etc
if (
window.location.href.indexOf("splash.html") > -1 ||
window.location.href.indexOf("setup.html") > -1
) {
contextBridge.exposeInMainWorld("armcordinternal", {
restart: () => ipcRenderer.send("restart"),
saveSettings: (...args: any) => ipcRenderer.send("saveSettings", ...args),
splashEnd: () => ipcRenderer.send("splashEnd"),
});
}