feat: use interactiveviewer gallery

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-12 11:10:57 +08:00
parent 22f668245d
commit 5d8b42a928
85 changed files with 2966 additions and 1171 deletions

View File

@@ -1,7 +1,7 @@
import 'package:PiliPalaX/pages/preview/view.dart';
import 'package:PiliPalaX/common/widgets/interactiveviewer_gallery/hero_dialog_route.dart';
import 'package:PiliPalaX/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get/get_navigation/src/dialog/dialog_route.dart';
extension ImageExtension on num {
int cacheSize(BuildContext context) {
@@ -67,24 +67,16 @@ extension BuildContextExt on BuildContext {
void imageView({
int? initialPage,
required List<String> imgList,
ValueChanged<int>? onDismissed,
}) {
Navigator.of(this).push(
GetDialogRoute(
pageBuilder: (buildContext, animation, secondaryAnimation) {
return ImagePreview(
initialPage: initialPage ?? 0,
imgList: imgList,
);
},
transitionDuration: const Duration(milliseconds: 300),
transitionBuilder: (context, animation, secondaryAnimation, child) {
var tween = Tween(begin: 0.0, end: 1.0)
.chain(CurveTween(curve: Curves.linear));
return FadeTransition(
opacity: animation.drive(tween),
child: child,
);
},
HeroDialogRoute(
builder: (context) => InteractiveviewerGallery(
sources: imgList,
initIndex: initialPage ?? 0,
onPageChanged: (int pageIndex) {},
onDismissed: onDismissed,
),
),
);
}