Open and close mobile search without a transition

Signed-off-by: kenny lopez <klopez4212@gmail.com>
This commit is contained in:
kenny lopez
2026-10-14 19:03:27 -04:00
parent 04892e721f
commit ab821d167f
2 changed files with 4 additions and 18 deletions

View File

@@ -105,25 +105,10 @@ class HomePage extends HookConsumerWidget {
onSearch: () => Navigator.of(context).push(
PageRouteBuilder<void>(
allowSnapshotting: false,
transitionDuration: reducedMotion
? Duration.zero
: _tabContentTransitionDuration,
reverseTransitionDuration: reducedMotion
? Duration.zero
: _tabContentTransitionDuration,
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero,
pageBuilder: (_, animation, secondaryAnimation) =>
const SearchPage(),
transitionsBuilder: (_, animation, secondaryAnimation, child) {
final progress = reducedMotion
? 1.0
: _tabContentTransitionCurve.transform(animation.value);
return DirectionalTransitionScope(
horizontalOffset:
_tabContentTransitionDistance * (1 - progress),
opacity: progress,
child: child,
);
},
),
),
communityInvitePageBuilder: communityInvitePageBuilder,

View File

@@ -147,7 +147,8 @@ void main() {
expect(find.byType(SearchPage), findsOneWidget);
final searchRoute = ModalRoute.of(tester.element(find.byType(SearchPage)))!;
expect(searchRoute.allowSnapshotting, isFalse);
expect(searchRoute.transitionDuration, const Duration(milliseconds: 240));
expect(searchRoute.transitionDuration, Duration.zero);
expect(searchRoute.reverseTransitionDuration, Duration.zero);
Navigator.of(tester.element(find.byType(SearchPage))).pop();
await tester.pumpAndSettle();
expect(find.byType(SearchPage), findsNothing);