From 046412b70969959d4b7797aac72c607a95e2f492 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sun, 28 Sep 2025 18:11:37 +0800 Subject: [PATCH] fix image preview Signed-off-by: bggRGjQaUbCoE --- .../widgets/image/custom_grid_view.dart | 29 +++++++++++-------- lib/utils/page_utils.dart | 19 ------------ 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/lib/common/widgets/image/custom_grid_view.dart b/lib/common/widgets/image/custom_grid_view.dart index a277e79d..688dc7a0 100644 --- a/lib/common/widgets/image/custom_grid_view.dart +++ b/lib/common/widgets/image/custom_grid_view.dart @@ -21,6 +21,7 @@ import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/badge.dart'; import 'package:PiliPlus/common/widgets/custom_layout.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; +import 'package:PiliPlus/common/widgets/marquee.dart' show ContextSingleTicker; import 'package:PiliPlus/models/common/badge_type.dart'; import 'package:PiliPlus/models/common/image_preview_type.dart'; import 'package:PiliPlus/utils/context_ext.dart'; @@ -90,22 +91,26 @@ class CustomGridView extends StatelessWidget { ); }, ).toList(); - onViewImage?.call(); if (horizontalPreview && !fullScreen && !context.mediaQuerySize.isPortrait) { - PageUtils.onHorizontalPreview( - context, - imgList, - index, - ); - } else { - PageUtils.imageView( - initialPage: index, - imgList: imgList, - onDismissed: onDismissed, - ); + final scaffoldState = Scaffold.maybeOf(context); + if (scaffoldState != null) { + PageUtils.onHorizontalPreviewState( + scaffoldState, + ContextSingleTicker(scaffoldState.context), + imgList, + index, + ); + return; + } } + onViewImage?.call(); + PageUtils.imageView( + initialPage: index, + imgList: imgList, + onDismissed: onDismissed, + ); } static BorderRadius borderRadius( diff --git a/lib/utils/page_utils.dart b/lib/utils/page_utils.dart index 8bdadaae..a9b6723f 100644 --- a/lib/utils/page_utils.dart +++ b/lib/utils/page_utils.dart @@ -2,7 +2,6 @@ import 'dart:math'; import 'package:PiliPlus/common/widgets/interactiveviewer_gallery/hero_dialog_route.dart'; import 'package:PiliPlus/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart'; -import 'package:PiliPlus/common/widgets/marquee.dart'; import 'package:PiliPlus/grpc/im.dart'; import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/http/search.dart'; @@ -590,24 +589,6 @@ abstract class PageUtils { ); } - static void onHorizontalPreview( - BuildContext context, - List imgList, - int index, - ) { - final scaffoldState = Scaffold.maybeOf(context); - if (scaffoldState != null) { - onHorizontalPreviewState( - scaffoldState, - ContextSingleTicker(scaffoldState.context), - imgList, - index, - ); - } else { - imageView(imgList: imgList, initialPage: index); - } - } - static void inAppWebview( String url, { bool off = false,