From a52ca1f85e416891ad2ca391301ef9a9da2d525f Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:57:45 -0500 Subject: [PATCH] migrateSettingFromPlugin --- src/api/Settings.ts | 13 +++++++++++++ src/equicordplugins/rpcEditor/index.tsx | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/api/Settings.ts b/src/api/Settings.ts index 0c08041b..316ea969 100644 --- a/src/api/Settings.ts +++ b/src/api/Settings.ts @@ -247,6 +247,19 @@ export function migratePluginSetting(pluginName: string, oldSetting: string, new SettingsStore.markAsChanged(); } +export function migrateSettingFromPlugin(newPlugin: string, newSetting: string, oldPlugin: string, oldSetting: string) { + const newSettings = SettingsStore.plain.plugins[newPlugin]; + const oldSettings = SettingsStore.plain.plugins[oldPlugin]; + if (!oldSettings || !Object.hasOwn(oldSettings, oldSetting)) return; + if (!newSettings || (Object.hasOwn(SettingsStore.plain.plugins[newPlugin], newSetting))) return; + + if (Object.hasOwn(SettingsStore.plain.plugins[newPlugin], newSetting)) return; + + SettingsStore.plain.plugins[newPlugin][newSetting] = oldSettings[oldSetting]; + delete oldSettings[oldSetting]; + SettingsStore.markAsChanged(); +} + export function definePluginSettings< Def extends SettingsDefinition, Checks extends SettingsChecks, diff --git a/src/equicordplugins/rpcEditor/index.tsx b/src/equicordplugins/rpcEditor/index.tsx index c3854ef7..446a1752 100644 --- a/src/equicordplugins/rpcEditor/index.tsx +++ b/src/equicordplugins/rpcEditor/index.tsx @@ -5,7 +5,7 @@ */ import { DataStore } from "@api/index"; -import { definePluginSettings, migratePluginSettings } from "@api/Settings"; +import { definePluginSettings, migratePluginSettings, migrateSettingFromPlugin } from "@api/Settings"; import { Devs } from "@utils/constants"; import { useForceUpdater } from "@utils/react"; import definePlugin, { OptionType } from "@utils/types"; @@ -101,6 +101,7 @@ const settings = definePluginSettings({ }, }); +migrateSettingFromPlugin("RPCEditor", "replacedAppIds", "ReplaceActivityTypes", "replacedAppIds"); migratePluginSettings("RPCEditor", "ReplaceActivityTypes"); export default definePlugin({ name: "RPCEditor",