diff options
-rw-r--r-- | src/plugins/apiMessagePopover.ts | 11 | ||||
-rw-r--r-- | src/plugins/reverseImageSearch.tsx | 23 |
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) { |