From 32557772b919ec76a04ba9d2004d4a8eeb126654 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Tue, 8 Sep 2026 20:44:34 +0300 Subject: [PATCH] Add React.lazy to UserCard --- .../user-card/components/UserCard.tsx | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/app/features/user-card/components/UserCard.tsx b/app/features/user-card/components/UserCard.tsx index 1bbc01415..4bd3b6341 100644 --- a/app/features/user-card/components/UserCard.tsx +++ b/app/features/user-card/components/UserCard.tsx @@ -33,7 +33,6 @@ import { lfgSearchParams } from "~/features/lfg/lfg-search-params"; import type { XRankPlacementRegion } from "~/features/top-search/top-search-types"; import { userCardEditPage } from "~/features/user-card/user-card-urls"; import { MutualFriends } from "~/features/user-page/components/MutualFriends"; -import { ReportUserDialog } from "~/features/user-report/components/ReportUserDialog"; import { useActionSubmit } from "~/hooks/useActionSubmit"; import { useLayoutSize } from "~/hooks/useLayoutSize"; import type { BrandId } from "~/modules/in-game-lists/types"; @@ -56,9 +55,20 @@ import type { UserCardFriendship, UserCardStat, } from "../user-card-types"; -import { AddPrivateNoteDialog } from "./AddPrivateNoteDialog"; import styles from "./UserCard.module.css"; +// lazy so the form stack (SendouForm, dnd-kit, search fields) stays out of every page that renders a user card +const AddPrivateNoteDialog = React.lazy(() => + import("./AddPrivateNoteDialog").then((module) => ({ + default: module.AddPrivateNoteDialog, + })), +); +const ReportUserDialog = React.lazy(() => + import("~/features/user-report/components/ReportUserDialog").then( + (module) => ({ default: module.ReportUserDialog }), + ), +); + const TENTATEK_BRAND_ID: BrandId = "B10"; const STAT_ORDER: Record = { @@ -164,19 +174,23 @@ export function UserCard({ /> {isNoteDialogOpen ? ( - setIsNoteDialogOpen(false)} - /> + + setIsNoteDialogOpen(false)} + /> + ) : null} {isReportDialogOpen ? ( - setIsReportDialogOpen(false)} - /> + + setIsReportDialogOpen(false)} + /> + ) : null}