From efd415ece2da1c9963f8c9492dd699b1a39aad7d Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Thu, 24 Apr 2025 17:12:10 +0800 Subject: [PATCH] fix: dismiss status bar when resumed from background on Android (#952) --- .../src/app/reader/components/Reader.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apps/readest-app/src/app/reader/components/Reader.tsx b/apps/readest-app/src/app/reader/components/Reader.tsx index 116da7e2..ac278595 100644 --- a/apps/readest-app/src/app/reader/components/Reader.tsx +++ b/apps/readest-app/src/app/reader/components/Reader.tsx @@ -31,6 +31,20 @@ const Reader: React.FC<{ ids?: string }> = ({ ids }) => { useTheme({ systemUIVisible: false, appThemeColor: 'base-100' }); useScreenWakeLock(settings.screenWakeLock); + useEffect(() => { + const handleVisibilityChange = () => { + if (appService?.isMobile && !document.hidden) { + dismissSystemUI(); + setSystemUIVisibility({ visible: false, darkMode: isDarkMode }); + } + }; + document.addEventListener('visibilitychange', handleVisibilityChange); + return () => { + document.removeEventListener('visibilitychange', handleVisibilityChange); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [appService, isDarkMode]); + useEffect(() => { if (isInitiating.current) return; isInitiating.current = true;