VCDoubleClick: Fix applying to non voice channels (#572)
This commit is contained in:
		
							parent
							
								
									95db6c32a3
								
							
						
					
					
						commit
						36c27f1111
					
				
					 1 changed files with 10 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue