fix image preview

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-28 18:11:37 +08:00
parent b3622ef61d
commit 046412b709
2 changed files with 17 additions and 31 deletions

View File

@@ -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(

View File

@@ -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<SourceModel> 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,