Fix SilentMessage/SilentTyping toggles showing in wrong sections
Closes #656
This commit is contained in:
parent
ab911b48b5
commit
081df6beb7
2 changed files with 16 additions and 4 deletions
|
@ -22,7 +22,11 @@ import { Devs } from "@utils/constants";
|
||||||
import definePlugin from "@utils/types";
|
import definePlugin from "@utils/types";
|
||||||
import { Button, ButtonLooks, ButtonWrapperClasses, React, Tooltip } from "@webpack/common";
|
import { Button, ButtonLooks, ButtonWrapperClasses, React, Tooltip } from "@webpack/common";
|
||||||
|
|
||||||
function SilentMessageToggle() {
|
function SilentMessageToggle(chatBoxProps: {
|
||||||
|
type: {
|
||||||
|
analyticsName: string;
|
||||||
|
};
|
||||||
|
}) {
|
||||||
const [enabled, setEnabled] = React.useState(false);
|
const [enabled, setEnabled] = React.useState(false);
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
|
@ -37,6 +41,8 @@ function SilentMessageToggle() {
|
||||||
return () => void removePreSendListener(listener);
|
return () => void removePreSendListener(listener);
|
||||||
}, [enabled]);
|
}, [enabled]);
|
||||||
|
|
||||||
|
if (chatBoxProps.type.analyticsName !== "normal") return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip text="Toggle Silent Message">
|
<Tooltip text="Toggle Silent Message">
|
||||||
{tooltipProps => (
|
{tooltipProps => (
|
||||||
|
@ -78,7 +84,7 @@ export default definePlugin({
|
||||||
find: ".activeCommandOption",
|
find: ".activeCommandOption",
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /"gift"\)\);(?<=(\i)\.push.+?disabled:(\i),.+?)/,
|
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{}`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -37,10 +37,16 @@ const settings = definePluginSettings({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function SilentTypingToggle() {
|
function SilentTypingToggle(chatBoxProps: {
|
||||||
|
type: {
|
||||||
|
analyticsName: string;
|
||||||
|
};
|
||||||
|
}) {
|
||||||
const { isEnabled } = settings.use(["isEnabled"]);
|
const { isEnabled } = settings.use(["isEnabled"]);
|
||||||
const toggle = () => settings.store.isEnabled = !settings.store.isEnabled;
|
const toggle = () => settings.store.isEnabled = !settings.store.isEnabled;
|
||||||
|
|
||||||
|
if (chatBoxProps.type.analyticsName !== "normal") return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip text={isEnabled ? "Disable silent typing" : "Enable silent typing"}>
|
<Tooltip text={isEnabled ? "Disable silent typing" : "Enable silent typing"}>
|
||||||
{(tooltipProps: any) => (
|
{(tooltipProps: any) => (
|
||||||
|
@ -83,7 +89,7 @@ export default definePlugin({
|
||||||
predicate: () => settings.store.showIcon,
|
predicate: () => settings.store.showIcon,
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,
|
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{}",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in a new issue