From 70fc9830b03fa7079de67a2992b24afc3057700e Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Wed, 12 Nov 2025 14:59:50 +0800 Subject: [PATCH] fix(excalidraw): dialog transition causing Excalidraw fail to detect accurate container size (fix cloudreve/cloudreve#3017) --- .../Viewers/Excalidraw/ExcalidrawViewer.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/component/Viewers/Excalidraw/ExcalidrawViewer.tsx b/src/component/Viewers/Excalidraw/ExcalidrawViewer.tsx index 36a7a4c..fbbad38 100644 --- a/src/component/Viewers/Excalidraw/ExcalidrawViewer.tsx +++ b/src/component/Viewers/Excalidraw/ExcalidrawViewer.tsx @@ -1,5 +1,6 @@ import { LoadingButton } from "@mui/lab"; -import { Box, Button, ButtonGroup, ListItemText, Menu, useTheme } from "@mui/material"; +import { Box, Button, ButtonGroup, Fade, ListItemText, Menu, useTheme } from "@mui/material"; +import { TransitionProps } from "@mui/material/transitions"; import React, { lazy, Suspense, useCallback, useEffect, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import i18next from "../../../i18n.ts"; @@ -14,6 +15,15 @@ import ViewerDialog, { ViewerLoading } from "../ViewerDialog.tsx"; const Excalidraw = lazy(() => import("./Excalidraw.tsx")); +const Transition = React.forwardRef(function Transition( + props: TransitionProps & { + children: React.ReactElement; + }, + ref: React.Ref, +) { + return ; +}); + const ExcalidrawViewer = () => { const { t } = useTranslation(); const dispatch = useAppDispatch(); @@ -130,6 +140,7 @@ const ExcalidrawViewer = () => { onClose: onClose, fullWidth: true, maxWidth: "lg", + TransitionComponent: Transition, }} >