From 44fa479bd4f33b376f5fffa8cc5c9ef9ffe8009c Mon Sep 17 00:00:00 2001 From: Marco Beretta <81851188+berry-13@users.noreply.github.com> Date: Sat, 18 Oct 2025 01:35:52 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Enhance=20Artifacts=20and?= =?UTF-8?q?=20SidePanel=20components=20with=20improved=20mobile=20responsi?= =?UTF-8?q?veness=20and=20layout=20transitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/Artifacts/Artifacts.tsx | 122 ++++++++++-------- .../components/SidePanel/SidePanelGroup.tsx | 14 +- 2 files changed, 79 insertions(+), 57 deletions(-) diff --git a/client/src/components/Artifacts/Artifacts.tsx b/client/src/components/Artifacts/Artifacts.tsx index ff7f284b76..aa81ebfadc 100644 --- a/client/src/components/Artifacts/Artifacts.tsx +++ b/client/src/components/Artifacts/Artifacts.tsx @@ -17,7 +17,7 @@ import store from '~/store'; export default function Artifacts() { const localize = useLocalize(); const { isMutating } = useEditorContext(); - const isMobile = useMediaQuery('(max-width: 868px)'); // DO NOT change this value, it is used to determine the layout of the artifacts panel ONLY + const isMobile = useMediaQuery('(max-width: 868px)'); const editorRef = useRef(); const previewRef = useRef(); const [isVisible, setIsVisible] = useState(false); @@ -52,76 +52,95 @@ export default function Artifacts() { const closeArtifacts = () => { setIsVisible(false); - setTimeout(() => setArtifactsVisible(false), 300); + setTimeout(() => setArtifactsVisible(false), isMobile ? 400 : 500); }; return ( -
+
+ {/* Mobile backdrop */} + {isMobile && ( +