diff --git a/scripts/build/build.mts b/scripts/build/build.mts index cc52a90..7a8931e 100644 --- a/scripts/build/build.mts +++ b/scripts/build/build.mts @@ -33,6 +33,7 @@ await Promise.all([ }), createContext({ ...CommonOpts, + globalName: "VencordDesktop", entryPoints: ["src/renderer/index.ts"], outfile: "dist/js/renderer.js", format: "iife", diff --git a/src/globals.d.ts b/src/globals.d.ts index 8e2c24b..5107d06 100644 --- a/src/globals.d.ts +++ b/src/globals.d.ts @@ -1,5 +1,6 @@ declare global { - export var VencordDesktop: typeof import("./preload/VencordDesktop").VencordDesktop; + export var VencordDesktopNative: typeof import("preload/VencordDesktopNative").VencordDesktopNative; + export var VencordDesktop: typeof import("renderer/index"); // TODO export var Vencord: any; export var vcdLS: typeof localStorage; diff --git a/src/preload/VencordDesktop.ts b/src/preload/VencordDesktopNative.ts similarity index 74% rename from src/preload/VencordDesktop.ts rename to src/preload/VencordDesktopNative.ts index 6363884..4d12b93 100644 --- a/src/preload/VencordDesktop.ts +++ b/src/preload/VencordDesktopNative.ts @@ -1,10 +1,11 @@ -import { ipcRenderer } from "electron"; +import { app, ipcRenderer } from "electron"; import type { Settings } from "../main/settings"; import { FOCUS, GET_SETTINGS, RELAUNCH, SET_SETTINGS, SHOW_ITEM_IN_FOLDER } from "../shared/IpcEvents"; -export const VencordDesktop = { +export const VencordDesktopNative = { app: { - relaunch: () => ipcRenderer.invoke(RELAUNCH) + relaunch: () => ipcRenderer.invoke(RELAUNCH), + getVersion: () => app.getVersion() }, fileManager: { showItemInFolder: (path: string) => ipcRenderer.invoke(SHOW_ITEM_IN_FOLDER, path) diff --git a/src/preload/index.ts b/src/preload/index.ts index 300e0fc..64d0b66 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -1,8 +1,8 @@ import { contextBridge, ipcRenderer, webFrame } from "electron"; import { GET_RENDERER_SCRIPT, GET_RENDERER_STYLES, GET_VENCORD_PRELOAD_FILE } from "../shared/IpcEvents"; -import { VencordDesktop } from "./VencordDesktop"; +import { VencordDesktopNative } from "./VencordDesktopNative"; -contextBridge.exposeInMainWorld("VencordDesktop", VencordDesktop); +contextBridge.exposeInMainWorld("VencordDesktopNative", VencordDesktopNative); require(ipcRenderer.sendSync(GET_VENCORD_PRELOAD_FILE)); diff --git a/src/renderer/ui/Settings.tsx b/src/renderer/components/Settings.tsx similarity index 100% rename from src/renderer/ui/Settings.tsx rename to src/renderer/components/Settings.tsx diff --git a/src/renderer/components/index.ts b/src/renderer/components/index.ts new file mode 100644 index 0000000..bf87b3e --- /dev/null +++ b/src/renderer/components/index.ts @@ -0,0 +1 @@ +export { default as Settings } from "./Settings"; diff --git a/src/renderer/fixes.ts b/src/renderer/fixes.ts index 582a6d5..ccd9f02 100644 --- a/src/renderer/fixes.ts +++ b/src/renderer/fixes.ts @@ -7,7 +7,7 @@ Object.defineProperty(Notification.prototype, "onclick", { set(onClick) { originalSetOnClick.call(this, function (this: unknown) { onClick.apply(this, arguments); - VencordDesktop.win.focus(); + VencordDesktopNative.win.focus(); }); }, configurable: true diff --git a/src/renderer/index.ts b/src/renderer/index.ts index 432f846..69e4ff7 100644 --- a/src/renderer/index.ts +++ b/src/renderer/index.ts @@ -1,4 +1,7 @@ import "./fixes"; -import "./ui/patchSettings"; console.log("read if cute :3"); + +export * as Components from "./components"; +export { PlainSettings, Settings } from "./settings"; + diff --git a/src/renderer/settings.ts b/src/renderer/settings.ts index 80070b8..70a7d68 100644 --- a/src/renderer/settings.ts +++ b/src/renderer/settings.ts @@ -4,9 +4,9 @@ import { Common } from "./vencord"; const signals = new Set<() => void>(); -export const PlainSettings = VencordDesktop.settings.get() as TSettings; +export const PlainSettings = VencordDesktopNative.settings.get() as TSettings; export const Settings = makeChangeListenerProxy(PlainSettings, s => { - VencordDesktop.settings.set(s); + VencordDesktopNative.settings.set(s); signals.forEach(fn => fn()); }); diff --git a/src/renderer/ui/patchSettings.ts b/src/renderer/ui/patchSettings.ts deleted file mode 100644 index c215425..0000000 --- a/src/renderer/ui/patchSettings.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { monkeyPatch } from "../../shared/utils/monkeyPatch"; -import { Common, plugins } from "../vencord"; -import Settings from "./Settings"; - -monkeyPatch(plugins.Settings, "makeSettingsCategories", function (this: unknown, original, { ID }: { ID: Record; }) { - const cats = original.call(this, { ID }); - cats.splice(1, 0, { - section: "VencordDesktop", - label: "Desktop Settings", - element: Settings, - onClick: () => Common.SettingsRouter.open("VencordDesktop") - }); - - return cats; -});