From b3ed350494d0adf7435b63b06c5a2e13eb149342 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Fri, 31 Oct 2025 00:18:29 -0400 Subject: [PATCH] Settings: Add MigratePluginToSetting --- src/api/Settings.ts | 14 ++++++++++++++ src/equicordplugins/exportMessages/index.tsx | 9 ++------- src/equicordplugins/musicControls/index.tsx | 12 +++--------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/api/Settings.ts b/src/api/Settings.ts index d4c64647f..151bb9ba0 100644 --- a/src/api/Settings.ts +++ b/src/api/Settings.ts @@ -225,6 +225,20 @@ export function useSettings(paths?: UseSettings[]) { return SettingsStore.store; } +export function migratePluginToSetting(newName: string, oldName: string, settingName: string) { + const { plugins } = SettingsStore.plain; + const newPlugin = plugins[newName]; + const oldPlugin = plugins[oldName]; + + if (!newPlugin || !oldPlugin) return; + + if (oldPlugin?.enabled) { + newPlugin[settingName] = true; + oldPlugin.enabled = false; + SettingsStore.markAsChanged(); + } +} + export function migratePluginSettings(name: string, ...oldNames: string[]) { const { plugins } = SettingsStore.plain; if (name in plugins) return; diff --git a/src/equicordplugins/exportMessages/index.tsx b/src/equicordplugins/exportMessages/index.tsx index 41739fe4d..2e487ba0a 100644 --- a/src/equicordplugins/exportMessages/index.tsx +++ b/src/equicordplugins/exportMessages/index.tsx @@ -7,7 +7,7 @@ import "./styles.css"; import { showNotification } from "@api/Notifications"; -import { definePluginSettings, Settings } from "@api/Settings"; +import { definePluginSettings, migratePluginToSetting } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; import { copyToClipboard } from "@utils/clipboard"; import { EquicordDevs } from "@utils/constants"; @@ -19,6 +19,7 @@ import { Menu, Toasts } from "@webpack/common"; import { ContactsList } from "./types"; +migratePluginToSetting("ExportMessages", "ExportContacts", "exportContacts"); const settings = definePluginSettings({ openFileAfterExport: { type: OptionType.BOOLEAN, @@ -155,12 +156,6 @@ export default definePlugin({ } } ], - start() { - if (Settings.plugins?.ExportContacts?.enabled) { - Settings.plugins.ExportContacts.enabled = false; - settings.store.exportContacts = true; - } - }, getContacts(contacts: ContactsList[]) { this.contactList = { friendsAdded: [...getUsernames(contacts, 1)], diff --git a/src/equicordplugins/musicControls/index.tsx b/src/equicordplugins/musicControls/index.tsx index 0e5cf40a7..14e798e8b 100644 --- a/src/equicordplugins/musicControls/index.tsx +++ b/src/equicordplugins/musicControls/index.tsx @@ -18,7 +18,7 @@ import "./styles.css"; -import { Settings } from "@api/Settings"; +import { migratePluginToSetting } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; @@ -31,6 +31,8 @@ import { TidalLyrics } from "./tidal/lyrics/components/lyrics"; import { TidalPlayer } from "./tidal/TidalPlayer"; import { YtmPlayer } from "./youtubeMusic/PlayerComponent"; +migratePluginToSetting("MusicControls", "SpotifyControls", "showSpotifyControls"); +migratePluginToSetting("MusicControls", "SpotifyLyrics", "showSpotifyLyrics"); export default definePlugin({ name: "MusicControls", description: "Music Controls and Lyrics for multiple services ", @@ -119,14 +121,6 @@ export default definePlugin({ }, async start() { - if (Settings.plugins?.SpotifyControls?.enabled) { - settings.store.showSpotifyControls = true; - Settings.plugins.SpotifyControls.enabled = false; - } - if (Settings.plugins?.SpotifyLyrics?.enabled) { - settings.store.showSpotifyLyrics = true; - Settings.plugins.SpotifyLyrics.enabled = false; - } await migrateOldLyrics(); toggleHoverControls(settings.store.hoverControls); },