fix(mobile): Improve vertical swipe detection in gallery viewer (#3486)

* Improve vertical swipe detection in gallery viewer

* Use final
This commit is contained in:
PyKen 2023-08-01 03:18:40 +09:00 committed by GitHub
parent e0a3e5a200
commit a9cd3609dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -239,6 +239,7 @@ class GalleryViewerPage extends HookConsumerWidget {
void handleSwipeUpDown(DragUpdateDetails details) { void handleSwipeUpDown(DragUpdateDetails details) {
int sensitivity = 15; int sensitivity = 15;
int dxThreshold = 50; int dxThreshold = 50;
double ratioThreshold = 3.0;
if (isZoomed.value) { if (isZoomed.value) {
return; return;
@ -256,9 +257,10 @@ class GalleryViewerPage extends HookConsumerWidget {
return; return;
} }
if (details.delta.dy > sensitivity) { final ratio = d.dy / max(d.dx.abs(), 1);
if (d.dy > sensitivity && ratio > ratioThreshold) {
AutoRouter.of(context).pop(); AutoRouter.of(context).pop();
} else if (details.delta.dy < -sensitivity) { } else if (d.dy < -sensitivity && ratio < -ratioThreshold) {
showInfo(); showInfo();
} }
} }