diff --git a/apps/desktop/src/auth/accessibility-cookie.component.ts b/apps/desktop/src/auth/accessibility-cookie.component.ts index b90af04e7ff..0a646272975 100644 --- a/apps/desktop/src/auth/accessibility-cookie.component.ts +++ b/apps/desktop/src/auth/accessibility-cookie.component.ts @@ -8,8 +8,6 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { Utils } from "@bitwarden/common/platform/misc/utils"; -import { getCookie } from "../utils"; - const BroadcasterSubscriptionId = "AccessibilityCookieComponent"; @Component({ @@ -55,7 +53,7 @@ export class AccessibilityCookieComponent { async checkForCookie() { this.hCaptchaWindow.close(); - const [cookie] = await getCookie("https://www.hcaptcha.com/", "hc_accessibility"); + const [cookie] = await ipc.auth.getHcaptchaAccessibilityCookie(); if (cookie) { this.onCookieSavedSuccess(); } else { diff --git a/apps/desktop/src/auth/preload.ts b/apps/desktop/src/auth/preload.ts new file mode 100644 index 00000000000..f4180406af0 --- /dev/null +++ b/apps/desktop/src/auth/preload.ts @@ -0,0 +1,6 @@ +import { ipcRenderer } from "electron"; + +export default { + getHcaptchaAccessibilityCookie: (): Promise<[string]> => + ipcRenderer.invoke("getCookie", { url: "https://www.hcaptcha.com/", name: "hc_accessibility" }), +}; diff --git a/apps/desktop/src/platform/preload.ts b/apps/desktop/src/platform/preload.ts index d8781f1f4b6..f1a70588a09 100644 --- a/apps/desktop/src/platform/preload.ts +++ b/apps/desktop/src/platform/preload.ts @@ -60,6 +60,13 @@ export default { isWindowsStore: isWindowsStore(), reloadProcess: () => ipcRenderer.send("reload-process"), + openContextMenu: ( + menu: { + label?: string; + type?: "normal" | "separator" | "submenu" | "checkbox" | "radio"; + }[] + ): Promise => ipcRenderer.invoke("openContextMenu", { menu }), + getSystemTheme: (): Promise => ipcRenderer.invoke("systemTheme"), onSystemThemeUpdated: (callback: (theme: ThemeType) => void) => { ipcRenderer.on("systemThemeUpdated", (_event, theme: ThemeType) => callback(theme)); diff --git a/apps/desktop/src/preload.ts b/apps/desktop/src/preload.ts index a6ddfdefca5..e2b2360eac4 100644 --- a/apps/desktop/src/preload.ts +++ b/apps/desktop/src/preload.ts @@ -1,4 +1,5 @@ // import { contextBridge } from "electron"; +import auth from "./auth/preload"; import platform from "./platform/preload"; /** @@ -13,6 +14,7 @@ import platform from "./platform/preload"; // Each team owns a subspace of the `ipc` global variable in the renderer. export const ipc = { + auth, platform, }; diff --git a/apps/desktop/src/utils.ts b/apps/desktop/src/utils.ts index c1597d53b50..7966046d9af 100644 --- a/apps/desktop/src/utils.ts +++ b/apps/desktop/src/utils.ts @@ -1,5 +1,3 @@ -import { ipcRenderer } from "electron"; - export type RendererMenuItem = { label?: string; type?: "normal" | "separator" | "submenu" | "checkbox" | "radio"; @@ -10,7 +8,7 @@ export function invokeMenu(menu: RendererMenuItem[]) { const menuWithoutClick = menu.map((m) => { return { label: m.label, type: m.type }; }); - ipcRenderer.invoke("openContextMenu", { menu: menuWithoutClick }).then((i: number) => { + ipc.platform.openContextMenu(menuWithoutClick).then((i: number) => { if (i !== -1) { menu[i].click(); } @@ -82,7 +80,3 @@ export function cleanUserAgent(userAgent: string): string { .replace(userAgentItem("Bitwarden", " "), "") .replace(userAgentItem("Electron", " "), ""); } - -export async function getCookie(url: string, name: string): Promise { - return await ipcRenderer.invoke("getCookie", { url: url, name: name }); -}