Added fail pages to retry the failed operation to delivery overview, notes and cars. Furthermore, I added better handling if the user is finished scanning articles.

This commit is contained in:
Dennis Nemec
2026-01-29 16:45:29 +01:00
parent 366a3560dc
commit 8cf0ea4e9a
11 changed files with 319 additions and 223 deletions

View File

@ -0,0 +1,43 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/detail/bloc/note_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/detail/bloc/note_event.dart';
import 'package:hl_lieferservice/model/delivery.dart';
class NoteLoadingFailPage extends StatelessWidget {
const NoteLoadingFailPage({super.key, required this.delivery});
final Delivery delivery;
void _onRetry(BuildContext context) {
context.read<NoteBloc>().add(LoadNote(delivery: delivery));
}
@override
Widget build(BuildContext context) {
return Center(
child: Padding(
padding: const EdgeInsets.all(50),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.error_outline, size: 72, color: Theme.of(context).colorScheme.error,),
Padding(
padding: const EdgeInsets.only(top: 30),
child: Text(
"Leider ist es beim Laden der Notizen zu einem Fehler gekommen.",
),
),
Padding(
padding: const EdgeInsets.only(top: 30),
child: FilledButton(
onPressed: () => _onRetry(context),
child: Text("Erneut versuchen"),
),
),
],
),
),
);
}
}

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/detail/bloc/note_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/detail/bloc/note_event.dart';
import 'package:hl_lieferservice/feature/delivery/detail/bloc/note_state.dart';
import 'package:hl_lieferservice/feature/delivery/detail/model/note.dart';
import 'package:hl_lieferservice/feature/delivery/detail/presentation/note/note_fail_page.dart';
import 'package:hl_lieferservice/feature/delivery/detail/presentation/note/note_overview.dart';
import 'package:hl_lieferservice/model/delivery.dart';
@ -24,10 +24,6 @@ class _DeliveryStepInfo extends State<DeliveryStepNote> {
context.read<NoteBloc>().add(LoadNote(delivery: widget.delivery));
}
Widget _notesLoadingFailed() {
return Center(child: Text("Notizen können nicht heruntergeladen werden.."));
}
Widget _notesLoading() {
return Center(child: CircularProgressIndicator());
}
@ -80,7 +76,7 @@ class _DeliveryStepInfo extends State<DeliveryStepNote> {
}
if (state is NoteLoadingFailed) {
return _notesLoadingFailed();
return NoteLoadingFailPage(delivery: widget.delivery);
}
return _blocUndefinedState();