diff --git a/src/core/plugins/favouriteanything/Settings.tsx b/src/core/plugins/favouriteanything/Settings.tsx
new file mode 100644
index 0000000..1041c20
--- /dev/null
+++ b/src/core/plugins/favouriteanything/Settings.tsx
@@ -0,0 +1,13 @@
+import { Forms } from "@vendetta/ui/components";
+const { FormSection, FormText } = Forms;
+
+export default () => (
+
+
+ Adds the favourite button to ALL media in the image viewer, not just GIFs!
+
+
+ Images and videos can now be saved to your GIF favourites picker. Works by patching Discord's GIFFavButton to accept all media types.
+
+
+)
diff --git a/src/core/plugins/favouriteanything/index.ts b/src/core/plugins/favouriteanything/index.ts
new file mode 100644
index 0000000..c57907e
--- /dev/null
+++ b/src/core/plugins/favouriteanything/index.ts
@@ -0,0 +1,169 @@
+// src/core/plugins/favouriteanything/index.ts
+import { defineCorePlugin } from "..";
+import { findByProps } from "@metro";
+import { before } from "@lib/api/patcher";
+import { logger } from "@lib/utils/logger";
+
+type PatchCleanupFn = () => void;
+
+let origType: Function | null = null;
+let memoWrapper: any = null;
+let retryTimeout: ReturnType | null = null;
+let unpatchAddFavorite: PatchCleanupFn | null = null;
+let origUseFavoriteGIFsMobile: Function | null = null;
+let favMobileModule: any = null;
+
+const VIDEO_EXT = [".mp4", ".webm", ".mov", ".avi", ".mkv", ".flv", ".wmv", ".m4v", ".gifv"];
+const processed = new WeakSet