소스 검색

fixes gallery viewer fullscreen edge case (#1959)

martyfuhry 2 년 전
부모
커밋
8adca31c24
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      mobile/lib/modules/asset_viewer/views/gallery_viewer.dart

+ 9 - 7
mobile/lib/modules/asset_viewer/views/gallery_viewer.dart

@@ -59,6 +59,15 @@ class GalleryViewerPage extends HookConsumerWidget {
     late Offset localPosition;
     final authToken = 'Bearer ${box.get(accessTokenKey)}';
 
+    showAppBar.addListener(() {
+      // Change to and from immersive mode, hiding navigation and app bar
+      if (showAppBar.value) {
+        SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
+      } else {
+        SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
+      }
+    });
+
     useEffect(
       () {
         isLoadPreview.value =
@@ -247,13 +256,6 @@ class GalleryViewerPage extends HookConsumerWidget {
               (showAppBar.value && !isZoomed.value)) &&
           !isPlayingVideo.value;
 
-      // Change to and from immersive mode, hiding navigation and app bar
-      if (show) {
-        SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
-      } else {
-        SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
-      }
-
       return AnimatedOpacity(
         duration: const Duration(milliseconds: 100),
         opacity: show ? 1.0 : 0.0,