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"