From 10f33b3dec4f2d197f117f780a6c8283f6f1046d Mon Sep 17 00:00:00 2001
From: Nuckyz <61953774+Nuckyz@users.noreply.github.com>
Date: Fri, 8 Mar 2024 00:23:35 -0300
Subject: [PATCH] Make more finds use filters.componentByCode
---
src/plugins/reviewDB/components/ReviewsView.tsx | 6 +++---
src/webpack/common/components.ts | 2 +-
src/webpack/webpack.ts | 1 +
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/plugins/reviewDB/components/ReviewsView.tsx b/src/plugins/reviewDB/components/ReviewsView.tsx
index eea92bb81..46bd7fb84 100644
--- a/src/plugins/reviewDB/components/ReviewsView.tsx
+++ b/src/plugins/reviewDB/components/ReviewsView.tsx
@@ -16,8 +16,8 @@
* along with this program. If not, see .
*/
-import { LazyComponent, useAwaiter, useForceUpdater } from "@utils/react";
-import { find, findByPropsLazy } from "@webpack";
+import { useAwaiter, useForceUpdater } from "@utils/react";
+import { findByPropsLazy, findComponentByCodeLazy } from "@webpack";
import { Forms, React, RelationshipStore, useRef, UserStore } from "@webpack/common";
import { Auth, authorize } from "../auth";
@@ -31,7 +31,7 @@ import ReviewComponent from "./ReviewComponent";
const { Editor, Transforms } = findByPropsLazy("Editor", "Transforms");
const { ChatInputTypes } = findByPropsLazy("ChatInputTypes");
-const InputComponent = LazyComponent(() => find(m => m.default?.type?.render?.toString().includes("default.CHANNEL_TEXT_AREA")).default);
+const InputComponent = findComponentByCodeLazy("default.CHANNEL_TEXT_AREA");
const { createChannelRecordFromServer } = findByPropsLazy("createChannelRecordFromServer");
interface UserProps {
diff --git a/src/webpack/common/components.ts b/src/webpack/common/components.ts
index d7bb5d759..048e65d68 100644
--- a/src/webpack/common/components.ts
+++ b/src/webpack/common/components.ts
@@ -51,7 +51,7 @@ export let Avatar: t.Avatar;
/** css colour resolver stuff, no clue what exactly this does, just copied usage from Discord */
export let useToken: t.useToken;
-export const MaskedLink = waitForComponent("MaskedLink", m => m?.type?.toString().includes("MASKED_LINK)"));
+export const MaskedLink = waitForComponent("MaskedLink", filters.componentByCode("MASKED_LINK)"));
export const Timestamp = waitForComponent("Timestamp", filters.byCode(".Messages.MESSAGE_EDITED_TIMESTAMP_A11Y_LABEL.format"));
export const Flex = waitForComponent("Flex", ["Justify", "Align", "Wrap"]);
diff --git a/src/webpack/webpack.ts b/src/webpack/webpack.ts
index 0f7d8b73c..992bf38f3 100644
--- a/src/webpack/webpack.ts
+++ b/src/webpack/webpack.ts
@@ -60,6 +60,7 @@ export const filters = {
return m => {
if (filter(m)) return true;
if (!m.$$typeof) return false;
+ if (m.type && m.type.render) return filter(m.type.render); // memo + forwardRef
if (m.type) return filter(m.type); // memos
if (m.render) return filter(m.render); // forwardRefs
return false;