aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/viewIcons.tsx (renamed from src/plugins/viewIcons.ts)23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/plugins/viewIcons.ts b/src/plugins/viewIcons.tsx
index a6ba4d4..39c4303 100644
--- a/src/plugins/viewIcons.ts
+++ b/src/plugins/viewIcons.tsx
@@ -1,12 +1,31 @@
import { REACT_GLOBAL } from "../utils/constants";
-import IpcEvents from "../utils/IpcEvents";
+import { Modal, openModal } from "../utils/modal";
import definePlugin from '../utils/types';
+import { filters, waitFor } from "../webpack";
-const OPEN_URL = `VencordNative.ipc.invoke("${IpcEvents.OPEN_EXTERNAL}",`;
+let ImageModal: any;
+let renderMaskedLink: any;
+
+waitFor(filters.byDisplayName("ImageModal"), m => ImageModal = m.default);
+waitFor("renderMaskedLinkComponent", m => renderMaskedLink = m.renderMaskedLinkComponent);
+
+const OPEN_URL = "Vencord.Plugins.plugins.ViewIcons.openImage(";
export default definePlugin({
name: "ViewIcons",
author: "Vendicated",
description: "Makes Avatars/Banners in user profiles clickable, and adds Guild Context Menu Entries to View Banner/Icon. Crashes if you don't have Developer Mode enabled, will fix in the future.",
+
+ openImage(url: string) {
+ openModal(() => (
+ <ImageModal
+ shouldAnimate={true}
+ original={url}
+ src={url}
+ renderLinkComponent={renderMaskedLink}
+ />
+ ), { size: Modal.ModalSize.DYNAMIC });
+ },
+
patches: [
{
find: "UserProfileModalHeader",