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