From b1666685223ef8507165dcc015ce2f56d9f1c263 Mon Sep 17 00:00:00 2001 From: Elvyra <88881326+EepyElvyra@users.noreply.github.com> Date: Fri, 10 Jan 2025 15:48:32 +0100 Subject: [PATCH] blep --- src/api/Settings.ts | 8 ++++---- .../PluginSettings/components/SettingArrayComponent.tsx | 7 +++---- src/plugins/consoleJanitor/index.ts | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/api/Settings.ts b/src/api/Settings.ts index 64a71b8af..1c3b634ae 100644 --- a/src/api/Settings.ts +++ b/src/api/Settings.ts @@ -226,12 +226,12 @@ export function migratePluginSettings(name: string, ...oldNames: string[]) { export function migrateSettingsToArrays(pluginName: string, settings: string[], stringSeparator: string | ((input: string) => string[]) = ",") { const { plugins } = SettingsStore.plain; - + if (plugins[pluginName] === undefined) + return logger.error(`Plugin '${pluginName}' does not exist and cannot be migrated! Did you spell it correctly?`); for (const setting of settings) { - if (plugins[pluginName] === undefined || typeof plugins[pluginName][setting] !== "string") continue; + if (typeof plugins[pluginName][setting] !== "string") continue; logger.info(`Migrating setting ${setting} from ${pluginName} to list`); - // @ts-ignore - if (plugins[pluginName][setting] === "") plugins[pluginName][setting] = plugins[pluginName][setting].default ?? []; + if (plugins[pluginName][setting] === "") plugins[pluginName][setting] = []; else if (typeof stringSeparator === "string") plugins[pluginName][setting] = plugins[pluginName][setting].split(stringSeparator); else plugins[pluginName][setting] = stringSeparator(plugins[pluginName][setting]); } diff --git a/src/components/PluginSettings/components/SettingArrayComponent.tsx b/src/components/PluginSettings/components/SettingArrayComponent.tsx index d739914e2..874888e56 100644 --- a/src/components/PluginSettings/components/SettingArrayComponent.tsx +++ b/src/components/PluginSettings/components/SettingArrayComponent.tsx @@ -8,7 +8,7 @@ import { classNameFactory } from "@api/Styles"; import ErrorBoundary from "@components/ErrorBoundary"; import SearchModal from "@components/SearchModal"; import { Margins } from "@utils/margins"; -import { closeModal, openModal } from "@utils/modal"; +import { openModal } from "@utils/modal"; import { wordsFromCamel, wordsToTitle } from "@utils/text"; import { OptionType, PluginOptionArray } from "@utils/types"; import { findByCodeLazy, findComponentByCodeLazy } from "@webpack"; @@ -104,14 +104,13 @@ export function SettingArrayComponent({ } function openSearchModal(val?: string) { - const key = openModal(modalProps => ( + return openModal(modalProps => ( closeModal(key)} input={val} subText={"All selected items will be added to " + wordsToTitle(wordsFromCamel(id))} searchType={option.type === OptionType.USERS ? "USERS" : option.type === OptionType.CHANNELS ? "CHANNELS" : "GUILDS"} - onSubmit={v => console.log(v)} + onSubmit={values => setItems([...items, ...values.map(v => v.id)])} /> )); } diff --git a/src/plugins/consoleJanitor/index.ts b/src/plugins/consoleJanitor/index.ts index 7c6fef467..29b225cab 100644 --- a/src/plugins/consoleJanitor/index.ts +++ b/src/plugins/consoleJanitor/index.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { definePluginSettings, migrateSettingsToArrays } from "@api/Settings"; +import { definePluginSettings, migratePluginSettings, migrateSettingsToArrays } from "@api/Settings"; import { Devs } from "@utils/constants"; import definePlugin, { OptionType, StartAt } from "@utils/types"; @@ -24,7 +24,7 @@ const NoopLogger = { const logAllow = new Set(); -migrateSettingsToArrays("consoleJanitor", ["whitelistedLoggers"], s => s.split(";").map(x => x.trim())); +migrateSettingsToArrays("ConsoleJanitor", ["whitelistedLoggers"], s => s.split(";").map(x => x.trim())); const settings = definePluginSettings({ disableLoggers: { @@ -59,7 +59,7 @@ export default definePlugin({ startAt: StartAt.Init, start() { logAllow.clear(); - this.settings.store.whitelistedLoggers.forEach(logAllow.add.bind(logAllow)); + settings.store.whitelistedLoggers.forEach(logAllow.add.bind(logAllow)); }, NoopLogger: () => NoopLogger,