diff --git a/src/components/Icons.tsx b/src/components/Icons.tsx index a78b3f522..926363848 100644 --- a/src/components/Icons.tsx +++ b/src/components/Icons.tsx @@ -1114,3 +1114,31 @@ export function EquicordIcon(props: IconProps) { ); } + +export function UserIcon(props: IconProps) { + return ( + + + + ); +} + +export function PencilSparkleIcon(props: IconProps) { + return ( + + + + ); +} diff --git a/src/plugins/betterSettings/index.tsx b/src/plugins/betterSettings/index.tsx index 1a4160980..c5c555a50 100644 --- a/src/plugins/betterSettings/index.tsx +++ b/src/plugins/betterSettings/index.tsx @@ -6,10 +6,11 @@ import { definePluginSettings } from "@api/Settings"; import { disableStyle, enableStyle } from "@api/Styles"; -import { AppsIcon, CreditCardIcon, DeveloperIcon, EquicordIcon, GameControllerIcon, MainSettingsIcon, ShieldIcon } from "@components/Icons"; +import { AppsIcon, CreditCardIcon, DeveloperIcon, EquicordIcon, GameControllerIcon, MainSettingsIcon, PencilSparkleIcon, UserIcon } from "@components/Icons"; import { buildPluginMenuEntries, buildThemeMenuEntries } from "@equicordplugins/equicordToolbox/menu"; import { Devs } from "@utils/constants"; import { classNameFactory } from "@utils/css"; +import { getIntlMessage } from "@utils/discord"; import { Logger } from "@utils/Logger"; import definePlugin, { OptionType } from "@utils/types"; import { Icon } from "@vencord/discord-types"; @@ -23,13 +24,14 @@ const cl = classNameFactory(""); const Classes = findCssClassesLazy("animating", "baseLayer", "bg", "layer", "layers"); const SECTION_ICONS: Record = { - user_section: MainSettingsIcon, + profile_section: PencilSparkleIcon, + user_section: UserIcon, equicord_section: EquicordIcon, billing_section: CreditCardIcon, app_section: AppsIcon, activity_section: GameControllerIcon, developer_section: DeveloperIcon, - staff_only_section: ShieldIcon, + utility_section: MainSettingsIcon, }; const settings = definePluginSettings({ @@ -191,6 +193,11 @@ export default definePlugin({ transformSettingsEntries(list) { const items: ReactNode[] = []; + const SECTION_NAMES: Record = { + profile_section: getIntlMessage("EDIT_PROFILES"), + user_section: getIntlMessage("ACCOUNT_SETTINGS"), + utility_section: getIntlMessage("USER_SETTINGS_KEYBINDS_MISCELLANEOUS_SECTION_TITLE") + }; for (const item of list) { const { key, props } = item; @@ -206,13 +213,13 @@ export default definePlugin({ {children} ); - } else if (key.endsWith("_section") && props.label) { + } else if (key.endsWith("_section") && (props.label ?? SECTION_NAMES[key])) { const iconLeft = SECTION_ICONS[key]; items.push( {this.transformSettingsEntries(props.children)} diff --git a/src/plugins/callTimer/index.tsx b/src/plugins/callTimer/index.tsx index 2924d71ed..765ed610b 100644 --- a/src/plugins/callTimer/index.tsx +++ b/src/plugins/callTimer/index.tsx @@ -137,11 +137,17 @@ export default definePlugin({ }, { find: "renderConnectionStatus(){", - replacement: { - match: /(renderConnectionStatus\(\).{0,1000}?lineClamp:1,children:)(\i)(?=,|}\))/, - replace: "$1[$2,$self.renderConnectionTimer({ channelId: this?.props?.channel?.id })]" - } - } + replacement: [ + { + match: /(renderConnectionStatus\(\).{0,1000}?lineClamp:1,children:)(\i)(?=,|}\))/, + replace: "$1[$2,$self.renderConnectionTimer({ channelId: this?.props?.channel?.id })]" + }, + { + match: /("RTCConnectionMenu".{0,100}?lineClamp:1,children:)(\i)(?=,|}\))/, + replace: "$1[$2,$self.renderConnectionTimer({ channelId: this?.props?.channel?.id })]" + } + ] + }, ], flux: { diff --git a/src/plugins/fullSearchContext/index.tsx b/src/plugins/fullSearchContext/index.tsx index 672552d9f..64bf1a2b8 100644 --- a/src/plugins/fullSearchContext/index.tsx +++ b/src/plugins/fullSearchContext/index.tsx @@ -85,7 +85,7 @@ export default definePlugin({ authors: [Devs.Ven, Devs.Aria], patches: [{ - find: "onClick:this.handleMessageClick,", + find: "Listbox navigator was given an unhandled action", replacement: { match: /this(?=\.handleContextMenu\(\i,\i\))/, replace: "$self"