resetToInitialRoute method

AFRouteState resetToInitialRoute()

Implementation

AFRouteState resetToInitialRoute() {
  AFibD.logRouteAF?.d("resetToInitialRoute");

  final popCount = screenHierarchy.popCountToRoot;
  final revisedRootSegs = this.screenHierarchy.popN(popCount, null);
  final screenMap = AFibF.g.screenMap;

  //final startupScreenId = screenMap.trueAppStartupScreenId;
  var startupScreenParam = screenMap.trueCreateStartupScreenParam?.call();
  if(startupScreenParam == null) throw AFException("Missing startup screen id or parameter");

  final revisedSegs = revisedRootSegs.pushNamed(startupScreenParam, null, null);

  return copyWith(
    globalPool: <AFScreenID, AFRouteSegment>{},
    popupSegs: const AFRouteStateSegments(active: emptySegments, prior: emptySegments),
    screenSegs: revisedSegs
  );
}