const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("theseus", { navigate: (input) => ipcRenderer.invoke("navigate", input), search: (q) => ipcRenderer.invoke("search", q), newTab: () => ipcRenderer.invoke("new-tab"), closeTab: (id) => ipcRenderer.invoke("close-tab", id), switchTab: (id) => ipcRenderer.invoke("switch-tab", id), goHome: () => ipcRenderer.invoke("go-home"), back: () => ipcRenderer.invoke("go-back"), forward: () => ipcRenderer.invoke("go-forward"), reload: () => ipcRenderer.invoke("reload"), stop: () => ipcRenderer.invoke("stop"), toggleTor: () => ipcRenderer.invoke("toggle-tor"), openSettings: () => ipcRenderer.invoke("open-settings"), toggleSiteInfo: (rect) => ipcRenderer.invoke("toggle-site-info", rect), switchToBcnr: () => ipcRenderer.invoke("switch-to-bcnr"), setChromeHeight: (h) => ipcRenderer.invoke("set-chrome-height", h), getSearchEngines: () => ipcRenderer.invoke("search-engines"), setSearchEngine: (id) => ipcRenderer.invoke("set-search-engine", id), getBookmarks: () => ipcRenderer.invoke("bookmarks-get"), addBookmark: (bm) => ipcRenderer.invoke("bookmark-add", bm), removeBookmark: (url) => ipcRenderer.invoke("bookmark-remove", url), onBookmarks: (cb) => ipcRenderer.on("bookmarks", (_e, d) => cb(d)), onNav: (cb) => ipcRenderer.on("nav", (_e, d) => cb(d)), onTor: (cb) => ipcRenderer.on("tor", (_e, d) => cb(d)), onTabs: (cb) => ipcRenderer.on("tabs", (_e, d) => cb(d)), onBcnrOffer: (cb) => ipcRenderer.on("bcnr-offer", (_e, d) => cb(d)), });