meshcore-open/lib/utils/route_transitions.dart
2025-12-27 15:32:32 -07:00

26 lines
818 B
Dart

import 'package:flutter/material.dart';
Route<T> buildQuickSwitchRoute<T>(Widget page) {
return PageRouteBuilder<T>(
pageBuilder: (context, animation, secondaryAnimation) => page,
transitionDuration: const Duration(milliseconds: 220),
reverseTransitionDuration: const Duration(milliseconds: 200),
transitionsBuilder: (context, animation, secondaryAnimation, child) {
final curved = CurvedAnimation(
parent: animation,
curve: Curves.easeOutCubic,
reverseCurve: Curves.easeInCubic,
);
return FadeTransition(
opacity: curved,
child: SlideTransition(
position: Tween<Offset>(
begin: const Offset(0.02, 0),
end: Offset.zero,
).animate(curved),
child: child,
),
);
},
);
}