From 8799a2e08c11a336291d88c654d126d8167fd856 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:17:52 -0400 Subject: [PATCH] Revert Some Changes --- browser/VencordNativeStub.ts | 2 ++ src/VencordNative.ts | 2 ++ src/components/ThemeSettings/ThemesTab.tsx | 6 +++-- src/main/ipcMain.ts | 1 + src/main/settings.ts | 1 + src/shared/IpcEvents.ts | 26 ++++++++++------------ 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/browser/VencordNativeStub.ts b/browser/VencordNativeStub.ts index 072d6d01..ba789c66 100644 --- a/browser/VencordNativeStub.ts +++ b/browser/VencordNativeStub.ts @@ -41,6 +41,7 @@ window.VencordNative = { themes: { uploadTheme: (fileName: string, fileData: string) => DataStore.set(fileName, fileData, themeStore), deleteTheme: (fileName: string) => DataStore.del(fileName, themeStore), + getThemesDir: async () => "", getThemesList: () => DataStore.entries(themeStore).then(entries => entries.map(([name, css]) => ({ fileName: name as string, content: css })) ), @@ -111,6 +112,7 @@ window.VencordNative = { } }, set: async (s: Settings) => localStorage.setItem("EquicordSettings", JSON.stringify(s)), + getSettingsDir: async () => "LocalStorage", openFolder: async () => Promise.reject("settings:openFolder is not supported on web"), }, diff --git a/src/VencordNative.ts b/src/VencordNative.ts index 1e602490..380c4295 100644 --- a/src/VencordNative.ts +++ b/src/VencordNative.ts @@ -33,6 +33,7 @@ export default { themes: { uploadTheme: (fileName: string, fileData: string) => invoke(IpcEvents.UPLOAD_THEME, fileName, fileData), deleteTheme: (fileName: string) => invoke(IpcEvents.DELETE_THEME, fileName), + getThemesDir: () => invoke(IpcEvents.GET_THEMES_DIR), getThemesList: () => invoke>(IpcEvents.GET_THEMES_LIST), getThemeData: (fileName: string) => invoke(IpcEvents.GET_THEME_DATA, fileName), getSystemValues: () => invoke>(IpcEvents.GET_THEME_SYSTEM_VALUES), @@ -50,6 +51,7 @@ export default { settings: { get: () => sendSync(IpcEvents.GET_SETTINGS), set: (settings: Settings, pathToNotify?: string) => invoke(IpcEvents.SET_SETTINGS, settings, pathToNotify), + getSettingsDir: () => invoke(IpcEvents.GET_SETTINGS_DIR), openFolder: () => invoke(IpcEvents.OPEN_SETTINGS_FOLDER), }, diff --git a/src/components/ThemeSettings/ThemesTab.tsx b/src/components/ThemeSettings/ThemesTab.tsx index d1d2a719..4743d38d 100644 --- a/src/components/ThemeSettings/ThemesTab.tsx +++ b/src/components/ThemeSettings/ThemesTab.tsx @@ -33,7 +33,7 @@ import { openInviteModal } from "@utils/discord"; import { Margins } from "@utils/margins"; import { classes } from "@utils/misc"; import { openModal } from "@utils/modal"; -import { relaunch } from "@utils/native"; +import { relaunch, showItemInFolder } from "@utils/native"; import { useAwaiter, useForceUpdater } from "@utils/react"; import type { ThemeHeader } from "@utils/themes"; import { getThemeInfo, stripBOM, type UserThemeHeader } from "@utils/themes/bd"; @@ -201,6 +201,7 @@ function ThemesTab() { const [themeLinkValid, setThemeLinkValid] = useState(false); const [userThemes, setUserThemes] = useState(null); const [onlineThemes, setOnlineThemes] = useState<(UserThemeHeader & { link: string; })[] | null>(null); + const [themeDir, , themeDirPending] = useAwaiter(VencordNative.themes.getThemesDir); useEffect(() => { updateThemes(); @@ -344,7 +345,8 @@ function ThemesTab() { ) : ( VencordNative.themes.openFolder()} + action={() => showItemInFolder(themeDir!)} + disabled={themeDirPending} Icon={FolderIcon} /> )} diff --git a/src/main/ipcMain.ts b/src/main/ipcMain.ts index 9c9a11a5..3d07b175 100644 --- a/src/main/ipcMain.ts +++ b/src/main/ipcMain.ts @@ -80,6 +80,7 @@ ipcMain.handle(IpcEvents.SET_QUICK_CSS, (_, css) => writeFileSync(QUICKCSS_PATH, css) ); +ipcMain.handle(IpcEvents.GET_THEMES_DIR, () => THEMES_DIR); ipcMain.handle(IpcEvents.GET_THEMES_LIST, () => listThemes()); ipcMain.handle(IpcEvents.GET_THEME_DATA, (_, fileName) => getThemeData(fileName)); ipcMain.handle(IpcEvents.GET_THEME_SYSTEM_VALUES, () => ({ diff --git a/src/main/settings.ts b/src/main/settings.ts index 962bbaa7..ed2f4850 100644 --- a/src/main/settings.ts +++ b/src/main/settings.ts @@ -36,6 +36,7 @@ RendererSettings.addGlobalChangeListener(() => { } }); +ipcMain.handle(IpcEvents.GET_SETTINGS_DIR, () => SETTINGS_DIR); ipcMain.on(IpcEvents.GET_SETTINGS, e => e.returnValue = RendererSettings.plain); ipcMain.handle(IpcEvents.SET_SETTINGS, (_, data: Settings, pathToNotify?: string) => { diff --git a/src/shared/IpcEvents.ts b/src/shared/IpcEvents.ts index e7eb7594..0354e697 100644 --- a/src/shared/IpcEvents.ts +++ b/src/shared/IpcEvents.ts @@ -17,30 +17,25 @@ */ export const enum IpcEvents { - OPEN_QUICKCSS = "VencordOpenQuickCss", + QUICK_CSS_UPDATE = "VencordQuickCssUpdate", + THEME_UPDATE = "VencordThemeUpdate", GET_QUICK_CSS = "VencordGetQuickCss", SET_QUICK_CSS = "VencordSetQuickCss", - QUICK_CSS_UPDATE = "VencordQuickCssUpdate", - - GET_SETTINGS = "VencordGetSettings", - SET_SETTINGS = "VencordSetSettings", - + UPLOAD_THEME = "VencordUploadTheme", + DELETE_THEME = "VencordDeleteTheme", + GET_THEMES_DIR = "VencordGetThemesDir", GET_THEMES_LIST = "VencordGetThemesList", GET_THEME_DATA = "VencordGetThemeData", GET_THEME_SYSTEM_VALUES = "VencordGetThemeSystemValues", - UPLOAD_THEME = "VencordUploadTheme", - DELETE_THEME = "VencordDeleteTheme", - THEME_UPDATE = "VencordThemeUpdate", - + GET_SETTINGS_DIR = "VencordGetSettingsDir", + GET_SETTINGS = "VencordGetSettings", + SET_SETTINGS = "VencordSetSettings", OPEN_EXTERNAL = "VencordOpenExternal", - OPEN_THEMES_FOLDER = "VencordOpenThemesFolder", - OPEN_SETTINGS_FOLDER = "VencordOpenSettingsFolder", - + OPEN_QUICKCSS = "VencordOpenQuickCss", GET_UPDATES = "VencordGetUpdates", GET_REPO = "VencordGetRepo", UPDATE = "VencordUpdate", BUILD = "VencordBuild", - OPEN_MONACO_EDITOR = "VencordOpenMonacoEditor", GET_PLUGIN_IPC_METHOD_MAP = "VencordGetPluginIpcMethodMap", @@ -51,4 +46,7 @@ export const enum IpcEvents { CSP_IS_DOMAIN_ALLOWED = "VencordCspIsDomainAllowed", CSP_REMOVE_OVERRIDE = "VencordCspRemoveOverride", CSP_REQUEST_ADD_OVERRIDE = "VencordCspRequestAddOverride", + + OPEN_THEMES_FOLDER = "VencordOpenThemesFolder", + OPEN_SETTINGS_FOLDER = "VencordOpenSettingsFolder", }