findRoute method

RouteInfo? findRoute()

Implementation

RouteInfo? findRoute() {
  Element? topElement;
  var rootRoute = ModalRoute.of(CsxKitShare.instance.overlayContext!);
  void listTopView(Element element) {
    if (element.widget is! PositionedDirectional) {
      if (element is RenderObjectElement &&
          element.renderObject is RenderBox) {
        var route = ModalRoute.of(element);
        if (route != null && route != rootRoute) {
          topElement = element;
        }
      }
      element.visitChildren(listTopView);
    }
  }

  CsxKitShare.instance.overlayContext?.visitChildElements(listTopView);
  if (topElement != null) {
    var routeInfo = RouteInfo();
    routeInfo.current = ModalRoute.of(topElement!);
    buildNavigatorTree(topElement!, routeInfo);
    return routeInfo;
  }
  return null;
}