diff --git a/lib/features/services/ui/service_form_screen/attachment_section.dart b/lib/features/services/ui/service_form_screen/attachment_section.dart index cdf9e31..6e09f97 100644 --- a/lib/features/services/ui/service_form_screen/attachment_section.dart +++ b/lib/features/services/ui/service_form_screen/attachment_section.dart @@ -232,27 +232,35 @@ class AttachmentsSection extends StatelessWidget { Future _handleGenerateQr(BuildContext context) async { final cubit = context.read(); var currentService = cubit.state.currentService; + final Navigator = Navigator.of(context); // 1. SE LA PRATICA E' NUOVA (Manca l'ID) if (currentService == null || currentService.id == null) { // Chiediamo conferma final bool? confirm = await showDialog( context: context, - builder: (ctx) => AlertDialog( - title: const Text("Salvataggio Necessario"), - content: const Text( - "Per generare il QR Code e caricare file dal telefono, la pratica deve essere prima salvata in BOZZA.\n\nVuoi salvare ora?", + builder: (ctx) => BlocListener( + listener: (context, state) { + if (state.status == ServiceFilesStatus.success) { + Navigator.of.context(ctx).pop(); + } + }, + child: AlertDialog( + title: const Text("Salvataggio Necessario"), + content: const Text( + "Per generare il QR Code e caricare file dal telefono, la pratica deve essere prima salvata in BOZZA.\n\nVuoi salvare ora?", + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(ctx, false), + child: const Text("Annulla"), + ), + ElevatedButton( + onPressed: () => Navigator.pop(ctx, true), + child: const Text("Salva in Bozza"), + ), + ], ), - actions: [ - TextButton( - onPressed: () => Navigator.pop(ctx, false), - child: const Text("Annulla"), - ), - ElevatedButton( - onPressed: () => Navigator.pop(ctx, true), - child: const Text("Salva in Bozza"), - ), - ], ), );