protect static method

void protect(
  1. BuildContext context,
  2. VoidCallback action, {
  3. String? redirectRoute,
  4. dynamic arguments,
})

ÚNICO punto de acceso.

action: La función que se ejecuta SI el usuario está autenticado. redirectRoute: (Opcional) Si es Guest, a dónde lo enviamos después de que se registre exitosamente. arguments: (Opcional) Argumentos para esa ruta de redirección.

Implementation

static void protect(BuildContext context, VoidCallback action, {String? redirectRoute, dynamic arguments}) {

  if (_userIsLoggedIn()) {
    // 1. Usuario Real: Pasa directo a la acción.
    action();
  } else {
    // 2. Usuario Guest: Se interrumpe la acción y se muestra el modal.
    showGuestModal(context, redirectRoute: redirectRoute, arguments: arguments);
  }
}