diff --git a/com.twin.app.shoptime/src/views/LoadingPanel/LoadingPanel.jsx b/com.twin.app.shoptime/src/views/LoadingPanel/LoadingPanel.jsx index 5904a3d9..127e7b41 100644 --- a/com.twin.app.shoptime/src/views/LoadingPanel/LoadingPanel.jsx +++ b/com.twin.app.shoptime/src/views/LoadingPanel/LoadingPanel.jsx @@ -45,6 +45,20 @@ export default function LoadingPanel({ showLoadingPanel, ...rest }) { const resumeSpotlightTimeoutRef = useRef(null); + useEffect(() => { + if (showLoadingPanel.show) { + const handleKeyDown = (e) => { + e.stopPropagation(); + e.preventDefault(); + }; + + window.addEventListener("keydown", handleKeyDown, true); + return () => { + window.removeEventListener("keydown", handleKeyDown, true); + }; + } + }, [showLoadingPanel]); + useEffect(() => { return () => { if (minShowingTimeJob) minShowingTimeJob.stop(); @@ -61,6 +75,12 @@ export default function LoadingPanel({ showLoadingPanel, ...rest }) { } }, [readyToHide, showLoadingPanel]); + useEffect(() => { + if (!showingStatus.showing && !showingStatus.hiding) { + Spotlight.resume(); + } + }, [showingStatus]); + useEffect(() => { if (!showingStatus.showing) { if (showingStatus.hiding) { @@ -88,7 +108,7 @@ export default function LoadingPanel({ showLoadingPanel, ...rest }) { resumeSpotlightTimeoutRef.current = setTimeout(() => { if (!showLoadingPanel.show && readyToHide && readyToAni) { dispatch(loadingComplete(true)); - Spotlight.resume(); + setShowingStatus({ showing: false, hiding: true }); } }, HIDING_TIME); }