Showing
1 changed file
with
10 additions
and
6 deletions
@@ -114,9 +114,9 @@ class GetObserver extends NavigatorObserver { | @@ -114,9 +114,9 @@ class GetObserver extends NavigatorObserver { | ||
114 | value.isBack = false; | 114 | value.isBack = false; |
115 | value.removed = ''; | 115 | value.removed = ''; |
116 | value.previous = _extractRouteName(previousRoute) ?? ''; | 116 | value.previous = _extractRouteName(previousRoute) ?? ''; |
117 | - value.isSnackbar = newRoute.isSnackbar; | ||
118 | - value.isBottomSheet = newRoute.isBottomSheet; | ||
119 | - value.isDialog = newRoute.isDialog; | 117 | + value.isSnackbar = newRoute.isSnackbar ? true : value.isSnackbar ?? false; |
118 | + value.isBottomSheet = newRoute.isBottomSheet ? true : value.isBottomSheet ?? false; | ||
119 | + value.isDialog = newRoute.isDialog ? true : value.isDialog ?? false; | ||
120 | }); | 120 | }); |
121 | 121 | ||
122 | if (routing != null) { | 122 | if (routing != null) { |
@@ -153,9 +153,9 @@ class GetObserver extends NavigatorObserver { | @@ -153,9 +153,9 @@ class GetObserver extends NavigatorObserver { | ||
153 | value.isBack = true; | 153 | value.isBack = true; |
154 | value.removed = ''; | 154 | value.removed = ''; |
155 | value.previous = newRoute.name ?? ''; | 155 | value.previous = newRoute.name ?? ''; |
156 | - value.isSnackbar = false; | ||
157 | - value.isBottomSheet = false; | ||
158 | - value.isDialog = false; | 156 | + value.isSnackbar = currentRoute.isSnackbar ? false : value.isSnackbar; |
157 | + value.isBottomSheet = currentRoute.isBottomSheet ? false : value.isBottomSheet; | ||
158 | + value.isDialog = currentRoute.isDialog ? false : value.isDialog; | ||
159 | }); | 159 | }); |
160 | 160 | ||
161 | routing?.call(_routeSend); | 161 | routing?.call(_routeSend); |
@@ -194,6 +194,7 @@ class GetObserver extends NavigatorObserver { | @@ -194,6 +194,7 @@ class GetObserver extends NavigatorObserver { | ||
194 | void didRemove(Route route, Route previousRoute) { | 194 | void didRemove(Route route, Route previousRoute) { |
195 | super.didRemove(route, previousRoute); | 195 | super.didRemove(route, previousRoute); |
196 | final routeName = _extractRouteName(route); | 196 | final routeName = _extractRouteName(route); |
197 | + final currentRoute = _RouteData.ofRoute(route); | ||
197 | 198 | ||
198 | Get.log("REMOVING ROUTE $routeName"); | 199 | Get.log("REMOVING ROUTE $routeName"); |
199 | _routeSend?.update((value) { | 200 | _routeSend?.update((value) { |
@@ -201,6 +202,9 @@ class GetObserver extends NavigatorObserver { | @@ -201,6 +202,9 @@ class GetObserver extends NavigatorObserver { | ||
201 | value.isBack = false; | 202 | value.isBack = false; |
202 | value.removed = routeName ?? ''; | 203 | value.removed = routeName ?? ''; |
203 | value.previous = routeName ?? ''; | 204 | value.previous = routeName ?? ''; |
205 | + value.isSnackbar = currentRoute.isSnackbar ? false : value.isSnackbar; | ||
206 | + value.isBottomSheet = currentRoute.isBottomSheet ? false : value.isBottomSheet; | ||
207 | + value.isDialog = currentRoute.isDialog ? false : value.isDialog; | ||
204 | }); | 208 | }); |
205 | 209 | ||
206 | routing?.call(_routeSend); | 210 | routing?.call(_routeSend); |
-
Please register or login to post a comment