resolve static method

BuildContext? resolve(
  1. BuildContext? provided
)

Resuelve qué BuildContext usar: el que te pasaron explícito, o si no hay, el de navigatorKey — mismo criterio que ya usan GpNotification/GpSnackBar para poder llamarse sin context (desde un servicio, un interceptor, etc.), siempre que navigatorKey esté conectado en el MaterialApp/Router de la app.

Devuelve null si ninguno de los dos está disponible — quien llama decide qué hacer en ese caso (no lanza, para no tumbar la app por un diálogo/navegación que no se pudo mostrar).

Implementation

static BuildContext? resolve(BuildContext? provided) {
  final resolved = provided ?? navigatorKey.currentContext;
  assert(
    resolved != null,
    'gp_design necesita un BuildContext: pasalo explícito o conectá '
    'GpNavigator.navigatorKey en tu MaterialApp/Router.',
  );
  return resolved;
}