From 2628bdce427c9ff416d15cb15526451e8bf6af10 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Thu, 17 Nov 2022 01:30:23 +0100 Subject: [PATCH] WebContextMenus: Port copy/open link items to Discord Web --- src/plugins/webContextMenus.ts | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/plugins/webContextMenus.ts diff --git a/src/plugins/webContextMenus.ts b/src/plugins/webContextMenus.ts new file mode 100644 index 0000000..7179082 --- /dev/null +++ b/src/plugins/webContextMenus.ts @@ -0,0 +1,46 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2022 Vendicated and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { Devs } from "../utils/constants"; +import definePlugin from "../utils/types"; + +export default definePlugin({ + name: "WebContextMenus", + description: "Re-adds some of context menu items missing on the web version of Discord, namely Copy/Open Link", + authors: [Devs.Ven], + target: "WEB", + + patches: [{ + // There is literally no reason for Discord to make this Desktop only. + // The only thing broken is copy, but they already have a different copy function + // with web support???? + find: "open-native-link", + replacement: [ + { + // if (isNative || null == + match: /if\(!\w\..{1,3}\|\|null==/, + replace: "if(null==" + }, + // Fix silly Discord calling the non web support copy + { + match: /\w\.default\.copy/, + replace: "Vencord.Webpack.Common.Clipboard.copy" + } + ] + }] +});