leulit_flutter_loading

Loading modal a pantalla completa para iOS, Android y web. Se enciende y apaga con acciones de leulit_flutter_actionmanager; tamaños con leulit_flutter_fullresponsive.

Instalación

dependencies:
  leulit_flutter_loading: ^0.2.0
final navKey = GlobalKey<NavigatorState>();

MaterialApp(
  navigatorKey: navKey, // con go_router: GoRouter(navigatorKey: navKey)
  builder: (_, child) => LoadingHost(navigatorKey: navKey, child: child!),
  home: ...,
);

LoadingHost incluye su propio ScreenSizeInitializer (parámetro opcional breakpoints).

Uso (desde cualquier capa, sin BuildContext)

LoadingActions.on.dispatch(data: 'Cargando…'); // mensaje opcional
LoadingActions.off.dispatch();
LoadingActions.reset.dispatch();               // cancela todo
  • Anidado: cada on suma 1 y cada off resta 1; se oculta al llegar a 0. El mensaje mostrado es el del último on.
  • reset: limpia el contador (úsalo si un flujo falló y quedaron on sin off).
  • Los handlers de ActionManager corren en microtask: el loading se pinta tras el tick en que se dispara.
  • El loading es una ruta transparente con PopScope(canPop: false): la barrera absorbe los toques y el botón atrás queda bloqueado. Si navigatorKey.currentState aún es null al hacer on, ese on no se muestra.

Publicar

./publish.sh <version> (analyze + tests + pub publish --dry-run, tag, push, publish).

Libraries

leulit_flutter_loading
Modal loading overlay driven by leulit_flutter_actionmanager actions.