didPush method
The Navigator pushed route
.
The route immediately below that one, and thus the previously active
route, is previousRoute
.
Implementation
@override
void didPush(Route route, Route? previousRoute) {
super.didPush(route, previousRoute);
final newRoute = _RouteData.ofRoute(route);
// Log appropriate message based on route type
switch (newRoute) {
case var r when r.isBottomSheet || r.isDialog:
Get.log("OPEN ${r.name}");
case var r when r.isGetPageRoute:
Get.log("GOING TO ROUTE ${r.name}");
default:
// No logging needed
break;
}
// Report the current route
RouterReportManager.instance.reportCurrentRoute(route);
// Update routing information
_routeSend?.update((value) {
// Update current route if it's a page route
if (route is PageRoute) {
value.current = newRoute.name ?? "";
}
// Set previous route name if available
final previousRouteName = _extractRouteName(previousRoute);
if (previousRouteName != null) {
value.previous = previousRouteName;
}
// Update other routing properties
value.args = route.settings.arguments;
value.route = route;
value.isBack = false;
value.removed = "";
value.isBottomSheet = newRoute.isBottomSheet;
value.isDialog = newRoute.isDialog;
});
routing?.call(_routeSend);
}