Co-authored-by: MENDOZA BALLARDO GAEL RICARDO <gael-meb123@users.noreply.github.com>
version final final ya enserio la final del proyecto :)
This commit is contained in:
@@ -101,8 +101,13 @@ class _EtaNotifier extends AsyncNotifier<_EtaResult> {
|
||||
}
|
||||
|
||||
Future<void> refresh() async {
|
||||
// Eliminamos el estado "loading" explícito para evitar que la UI parpadee
|
||||
state = await AsyncValue.guard(_fetch);
|
||||
try {
|
||||
final newData = await _fetch();
|
||||
state = AsyncValue.data(newData);
|
||||
} catch (e) {
|
||||
// HACKATHON: Si hay un micro-corte (backend reiniciando), conservamos los datos previos
|
||||
if (!state.hasValue) state = const AsyncValue.loading();
|
||||
}
|
||||
}
|
||||
|
||||
Future<_EtaResult> _fetch() async {
|
||||
@@ -219,10 +224,8 @@ class _EtaScreenState extends ConsumerState<EtaScreen>
|
||||
),
|
||||
body: etaAsync.when(
|
||||
loading: () => const _EtaLoading(),
|
||||
error: (e, _) => _EtaError(
|
||||
error: e.toString(),
|
||||
onRetry: () => ref.read(etaProvider.notifier).refresh(),
|
||||
),
|
||||
error: (e, _) =>
|
||||
const _EtaLoading(), // Si hay error, mostramos carga infinita hasta que el backend despierte
|
||||
data: (result) => result.hasAddress
|
||||
? _EtaContent(result: result)
|
||||
: _NoAddressState(onAdd: () => context.go('/addresses/new')),
|
||||
|
||||
Reference in New Issue
Block a user