From d8dbbf0c818616ddd334230c1f58fca668c84439 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Wed, 28 Jan 2026 03:15:58 +0100 Subject: [PATCH 01/10] fix VoiceMessages plugin --- src/plugins/voiceMessages/index.tsx | 15 +++++++-------- src/webpack/webpack.ts | 2 ++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/plugins/voiceMessages/index.tsx b/src/plugins/voiceMessages/index.tsx index 5528aa6f9..6452f5ffb 100644 --- a/src/plugins/voiceMessages/index.tsx +++ b/src/plugins/voiceMessages/index.tsx @@ -32,7 +32,7 @@ import definePlugin from "@utils/types"; import { chooseFile } from "@utils/web"; import { CloudUpload as TCloudUpload } from "@vencord/discord-types"; import { CloudUploadPlatform } from "@vencord/discord-types/enums"; -import { findCssClassesLazy, findLazy, findStoreLazy } from "@webpack"; +import { findLazy, findStoreLazy } from "@webpack"; import { Button, Constants, FluxDispatcher, Forms, lodash, Menu, MessageActions, PermissionsBits, PermissionStore, RestAPI, SelectedChannelStore, showToast, SnowflakeUtils, Toasts, useEffect, useState } from "@webpack/common"; import { ComponentType } from "react"; @@ -43,7 +43,6 @@ import { VoiceRecorderWeb } from "./WebRecorder"; const CloudUpload: typeof TCloudUpload = findLazy(m => m.prototype?.trackUploadFinished); const PendingReplyStore = findStoreLazy("PendingReplyStore"); -const OptionClasses = findCssClassesLazy("optionName", "optionIcon", "optionLabel"); export const cl = classNameFactory("vc-vmsg-"); export type VoiceRecorder = ComponentType<{ @@ -59,12 +58,12 @@ const ctxMenuPatch: NavContextMenuPatchCallback = (children, props) => { children.push( - -
Send Voice Message
- - } + iconLeft={Microphone} + leadingAccessory={{ + type: "icon", + icon: Microphone + }} + label="Send Voice Message" action={() => openModal(modalProps => )} /> ); diff --git a/src/webpack/webpack.ts b/src/webpack/webpack.ts index c025a72b0..aa1e10223 100644 --- a/src/webpack/webpack.ts +++ b/src/webpack/webpack.ts @@ -598,6 +598,8 @@ export function findCssClasses(...classes: S[]): Record; } From 816243e702a2210e5615dc2602e43a8ff0830e89 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Wed, 28 Jan 2026 04:15:31 +0100 Subject: [PATCH 02/10] Settings: add textarea options --- .../tabs/plugins/components/TextSetting.tsx | 28 ++++++++++++------- src/plugins/consoleJanitor/index.tsx | 3 +- src/plugins/ignoreActivities/index.tsx | 4 +-- src/plugins/loadingQuotes/index.ts | 1 + src/plugins/messageLinkEmbeds/index.tsx | 3 +- src/plugins/messageLogger/index.tsx | 9 ++++-- src/plugins/noReplyMention/index.tsx | 6 ++-- src/utils/types.ts | 2 ++ 8 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/components/settings/tabs/plugins/components/TextSetting.tsx b/src/components/settings/tabs/plugins/components/TextSetting.tsx index 7eb4b9f9c..ad60a1111 100644 --- a/src/components/settings/tabs/plugins/components/TextSetting.tsx +++ b/src/components/settings/tabs/plugins/components/TextSetting.tsx @@ -17,7 +17,7 @@ */ import { PluginOptionString } from "@utils/types"; -import { React, TextInput, useState } from "@webpack/common"; +import { React, TextArea, TextInput, useState } from "@webpack/common"; import { resolveError, SettingProps, SettingsSection } from "./Common"; @@ -38,15 +38,23 @@ export function TextSetting({ option, pluginSettings, definedSettings, id, onCha return ( - + {option.multiline + ?