aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/apiMessagePopover.ts11
-rw-r--r--src/plugins/reverseImageSearch.tsx23
2 files changed, 20 insertions, 14 deletions
diff --git a/src/plugins/apiMessagePopover.ts b/src/plugins/apiMessagePopover.ts
index e9d712a..7e297f2 100644
--- a/src/plugins/apiMessagePopover.ts
+++ b/src/plugins/apiMessagePopover.ts
@@ -22,12 +22,17 @@ import definePlugin from "@utils/types";
export default definePlugin({
name: "MessagePopoverAPI",
description: "API to add buttons to message popovers.",
- authors: [Devs.KingFish],
+ authors: [Devs.KingFish, Devs.Ven],
patches: [{
find: "Messages.MESSAGE_UTILITIES_A11Y_LABEL",
replacement: {
- match: /\?(?<makeButton>\i)\(.{1,35}\.Messages\.CONFIGURE.+?message:(?<message>\i).+?children:\[/,
- replace: "$&...Vencord.Api.MessagePopover._buildPopoverElements($<message>,$<makeButton>),"
+ // foo && !bar ? createElement(blah,...makeElement(addReactionData))
+ match: /(\i&&!\i)\?\(0,\i\.jsxs?\)\(.{0,20}renderPopout:.{0,300}?(\i)\(.{3,20}\{key:"add-reaction".+?\}/,
+ replace: (m, bools, makeElement) => {
+ const msg = m.match(/message:(.{1,3}),/)?.[1];
+ if (!msg) throw new Error("Could not find message variable");
+ return `...(${bools}?Vencord.Api.MessagePopover._buildPopoverElements(${msg},${makeElement}):[]),${m}`;
+ }
}
}],
});
diff --git a/src/plugins/reverseImageSearch.tsx b/src/plugins/reverseImageSearch.tsx
index 8de9de7..4d9f040 100644
--- a/src/plugins/reverseImageSearch.tsx
+++ b/src/plugins/reverseImageSearch.tsx
@@ -43,17 +43,18 @@ export default definePlugin({
}
}, {
// pass the target to the open link menu so we can check if it's an image
- find: "REMOVE_ALL_REACTIONS_CONFIRM_BODY,",
- replacement: {
- // url1 = url2 = props.attachment.url
- // ...
- // OpenLinks(url2 != null ? url2 : url1, someStuffs)
- //
- // the back references are needed because the code is like Z(a!=null?b:c,d), no way to match that
- // otherwise
- match: /(?<props>.).onHeightUpdate.{0,200}(.)=(.)=.\.url;.+?\(null!=\3\?\3:\2[^)]+/,
- replace: "$&,$<props>.target"
- }
+ find: ".Messages.MESSAGE_ACTIONS_MENU_LABEL",
+ replacement: [
+ {
+ match: /ariaLabel:\i\.Z\.Messages\.MESSAGE_ACTIONS_MENU_LABEL/,
+ replace: "$&,_vencordTarget:arguments[0].target"
+ },
+ {
+ // var f = props.itemHref, .... MakeNativeMenu(null != f ? f : blah)
+ match: /(\i)=\i\.itemHref,.+?\(null!=\1\?\1:.{1,10}(?=\))/,
+ replace: "$&,arguments[0]._vencordTarget"
+ }
+ ]
}],
makeMenu(src: string, target: HTMLElement) {