didPopNext method

  1. @override
void didPopNext()
override

Called when the top route has been popped off, and the current route shows up.

Implementation

@override
void didPopNext() {
  ModalRoute route = ModalRoute.of(context)!;
  final delegate = widget.controller.hybridHistory.delegate;
  final state = delegate != null
      ? delegate.state(context, null)
      : route.settings.arguments;

  // CRITICAL FIX: Use widget.path instead of route.settings.name for consistency
  String path = widget.path;
  dom.Event event = dom.HybridRouterChangeEvent(state: state, kind: 'didPopNext', path: path);

  widget.controller.view.document.dispatchEvent(event);

  RouterLinkElement? routerLinkElement = widget.controller.view.getHybridRouterView(widget.path);
  routerLinkElement?.dispatchEventUtilAdded(event);
}