From 081df6beb79a48ed970aaca7a5dde852651a6d61 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Tue, 28 Mar 2023 18:56:12 +0200 Subject: [PATCH] Fix SilentMessage/SilentTyping toggles showing in wrong sections Closes #656 --- src/plugins/silentMessageToggle.tsx | 10 ++++++++-- src/plugins/silentTyping.tsx | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/plugins/silentMessageToggle.tsx b/src/plugins/silentMessageToggle.tsx index 8d33f81c..3151e5c9 100644 --- a/src/plugins/silentMessageToggle.tsx +++ b/src/plugins/silentMessageToggle.tsx @@ -22,7 +22,11 @@ import { Devs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Button, ButtonLooks, ButtonWrapperClasses, React, Tooltip } from "@webpack/common"; -function SilentMessageToggle() { +function SilentMessageToggle(chatBoxProps: { + type: { + analyticsName: string; + }; +}) { const [enabled, setEnabled] = React.useState(false); React.useEffect(() => { @@ -37,6 +41,8 @@ function SilentMessageToggle() { return () => void removePreSendListener(listener); }, [enabled]); + if (chatBoxProps.type.analyticsName !== "normal") return null; + return ( {tooltipProps => ( @@ -78,7 +84,7 @@ export default definePlugin({ find: ".activeCommandOption", replacement: { match: /"gift"\)\);(?<=(\i)\.push.+?disabled:(\i),.+?)/, - replace: (m, array, disabled) => `${m}${disabled}||${array}.push($self.SilentMessageToggle());` + replace: (m, array, disabled) => `${m};try{${disabled}||${array}.push($self.SilentMessageToggle(arguments[0]));}catch{}` } } ], diff --git a/src/plugins/silentTyping.tsx b/src/plugins/silentTyping.tsx index d0edaac2..6d82840c 100644 --- a/src/plugins/silentTyping.tsx +++ b/src/plugins/silentTyping.tsx @@ -37,10 +37,16 @@ const settings = definePluginSettings({ } }); -function SilentTypingToggle() { +function SilentTypingToggle(chatBoxProps: { + type: { + analyticsName: string; + }; +}) { const { isEnabled } = settings.use(["isEnabled"]); const toggle = () => settings.store.isEnabled = !settings.store.isEnabled; + if (chatBoxProps.type.analyticsName !== "normal") return null; + return ( {(tooltipProps: any) => ( @@ -83,7 +89,7 @@ export default definePlugin({ predicate: () => settings.store.showIcon, replacement: { match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/, - replace: "$&;try{$2||$1.push($self.chatBarIcon())}catch{}", + replace: "$&;try{$2||$1.push($self.chatBarIcon(arguments[0]))}catch{}", } }, ],