From 36c27f1111d3a56536d21d2bbeade3f44da7eee0 Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Sun, 5 Mar 2023 22:39:53 -0300 Subject: [PATCH] VCDoubleClick: Fix applying to non voice channels (#572) --- src/plugins/vcDoubleClick.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/plugins/vcDoubleClick.ts b/src/plugins/vcDoubleClick.ts index 695e8c51..6d124a6c 100644 --- a/src/plugins/vcDoubleClick.ts +++ b/src/plugins/vcDoubleClick.ts @@ -19,7 +19,7 @@ import { migratePluginSettings } from "@api/settings"; import { Devs } from "@utils/constants"; import definePlugin from "@utils/types"; -import { SelectedChannelStore } from "@webpack/common"; +import { ChannelStore, SelectedChannelStore } from "@webpack/common"; const timers = {} as Record(_vcEv.detail>=2||_vcEv.target.className.includes('MentionText'))&&($1)()", + match: /onClick:(\i)(?=,.{0,30}className:"channelMention".+?(\i)\.inContent)/, + replace: (_, onClick, props) => "" + + `onClick:(vcDoubleClickEvt)=>$self.shouldRunOnClick(vcDoubleClickEvt,${props})&&${onClick}()`, } } ], + shouldRunOnClick(e: MouseEvent, { channelId }) { + const channel = ChannelStore.getChannel(channelId); + if (!channel || ![2, 13].includes(channel.type)) return true; + return e.detail >= 2; + }, + schedule(cb: () => void, e: any) { const id = e.props.channel.id as string; if (SelectedChannelStore.getVoiceChannelId() === id) {