VCDoubleClick: Fix applying to non voice channels (#572)
This commit is contained in:
parent
95db6c32a3
commit
36c27f1111
|
@ -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<string, {
|
||||
timeout?: NodeJS.Timeout;
|
||||
|
@ -50,12 +50,19 @@ export default definePlugin({
|
|||
// channel mentions
|
||||
find: ".shouldCloseDefaultModals",
|
||||
replacement: {
|
||||
match: /onClick:(\i)(?=,.{0,30}className:"channelMention")/,
|
||||
replace: "onClick:(_vcEv)=>(_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) {
|
||||
|
|
Loading…
Reference in a new issue