goNamedWithOpenModal static method

void goNamedWithOpenModal(
  1. GoRouter router,
  2. String name, {
  3. required String modalId,
  4. Map<String, String> pathParameters = const <String, String>{},
  5. Object? extra,
})

Opens modalId on the current URI, then navigates to name keeping that modal plus any others already open (comma-joined).

Implementation

static void goNamedWithOpenModal(
  GoRouter router,
  String name, {
  required String modalId,
  Map<String, String> pathParameters = const <String, String>{},
  Object? extra,
}) {
  final currentLocation = router.state.uri;

  final uriWithModal = openModalInUri(currentLocation, modalId);
  final modalParam = uriWithModal.queryParameters['modal'];

  goNamed(
    router,
    name,
    pathParameters: pathParameters,
    queryParameters: modalParam != null ? {'modal': modalParam} : const <String, String>{},
    extra: extra,
  );
}