diff --git a/package.json b/package.json index 6967bb960..266de9355 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "equicord", "private": "true", - "version": "1.14.4.1", + "version": "1.14.5.0", "description": "The other cutest Discord client mod", "homepage": "https://github.com/Equicord/Equicord#readme", "bugs": { diff --git a/src/plugins/_core/settings.tsx b/src/plugins/_core/settings.tsx index eb87cb137..81efa6e16 100644 --- a/src/plugins/_core/settings.tsx +++ b/src/plugins/_core/settings.tsx @@ -20,7 +20,7 @@ import { gitHashShort } from "@shared/vencordUserAgent"; import { Devs } from "@utils/constants"; import { isTruthy } from "@utils/guards"; import definePlugin, { IconProps, OptionType } from "@utils/types"; -import { findByPropsLazy } from "@webpack"; +import { findByPropsLazy, waitFor } from "@webpack"; import { React } from "@webpack/common"; import type { ComponentType, PropsWithChildren, ReactNode } from "react"; @@ -46,7 +46,14 @@ const enum LayoutType { CUSTOM = 18 } -const LayoutTypes: typeof LayoutType = findByPropsLazy("SECTION", "SIDEBAR_ITEM", "PANEL"); +let LayoutTypes = { + SECTION: 1, + SIDEBAR_ITEM: 2, + PANEL: 3, + CATEGORY: 5, + CUSTOM: 19, +}; +waitFor(["SECTION", "SIDEBAR_ITEM", "PANEL", "CUSTOM"], v => LayoutTypes = v); const enum SectionType { HEADER = "HEADER", @@ -175,20 +182,25 @@ export default definePlugin({ key: key + "_panel", type: LayoutTypes.PANEL, useTitle: () => panelTitle, - buildLayout: () => [], - StronglyDiscouragedCustomComponent: () => , - render: () => , + buildLayout: () => [{ + type: LayoutTypes.CATEGORY, + key: key + "_category", + buildLayout: () => [{ + type: LayoutTypes.CUSTOM, + key: key + "_custom", + Component: Component, + useSearchTerms: () => [title] + }] + }] }; - return { + return ({ key, type: LayoutTypes.SIDEBAR_ITEM, - legacySearchKey: title.toUpperCase(), - getLegacySearchKey: () => title.toUpperCase(), useTitle: () => title, icon: () => , buildLayout: () => [panel] - }; + }); }, getSettingsSectionMappings() {