import { contextBridge, ipcRenderer } from "electron"; import { getDisplayMediaSelector } from "./capturer"; import { injectTitlebar } from "./titlebar"; contextBridge.exposeInMainWorld("armcord", { window: { show: () => ipcRenderer.send("win-show"), hide: () => ipcRenderer.send("win-hide"), minimize: () => ipcRenderer.send("win-minimize"), maximize: () => ipcRenderer.send("win-maximize"), }, titlebar: { injectTitlebar: () => injectTitlebar(), isTitlebar: ipcRenderer.sendSync("titlebar"), }, electron: process.versions.electron, channel: ipcRenderer.sendSync("channel"), openTab: (number: number) => ipcRenderer.sendSync("openTab", number), version: ipcRenderer.sendSync("get-app-version", "app-version"), getDisplayMediaSelector: getDisplayMediaSelector, openSettingsWindow: () => ipcRenderer.send("openSettingsWindow"), }); //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"), }); }