From f12d04bd8b39f12b4989af7df263a95ea88ecd09 Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Sat, 2 May 2026 20:08:08 +0200 Subject: [PATCH] fix(receipt-import): show create-product errors in modal dialog --- .../presentation/receipt_import_tab.dart | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/flutter/lib/features/import/presentation/receipt_import_tab.dart b/flutter/lib/features/import/presentation/receipt_import_tab.dart index 7d9cdbf6..596bf1bd 100644 --- a/flutter/lib/features/import/presentation/receipt_import_tab.dart +++ b/flutter/lib/features/import/presentation/receipt_import_tab.dart @@ -363,23 +363,17 @@ class _EditDialogState extends State<_EditDialog> { if (_entryMode == _ProductEntryMode.create) { final trimmedName = _newProductNameCtrl.text.trim(); if (trimmedName.isEmpty) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text('Ange ett produktnamn först.')), - ); + showGlobalErrorDialog(context, 'Ange ett produktnamn först.'); return; } if (_newCategoryId == null) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text('Välj kategori innan du skapar produkten.')), - ); + showGlobalErrorDialog(context, 'Välj kategori innan du skapar produkten.'); return; } if (widget.onCreate == null) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text('Produktskapande är inte tillgängligt i den här vyn.')), - ); + showGlobalErrorDialog(context, 'Produktskapande är inte tillgängligt i den här vyn.'); return; } @@ -391,11 +385,7 @@ class _EditDialogState extends State<_EditDialog> { ); if (newProduct == null || !mounted) { if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Kunde inte skapa produkten. Försök igen.'), - ), - ); + showGlobalErrorDialog(context, 'Kunde inte skapa produkten. Försök igen.'); } return; } @@ -409,24 +399,17 @@ class _EditDialogState extends State<_EditDialog> { _productCategorySource = _newCategorySource ?? CategorySelectionSource.manual; } on ApiException catch (e) { if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text( - e.message.trim().isEmpty - ? 'Kunde inte skapa produkten. Försök igen.' - : e.message, - ), - ), + showGlobalErrorDialog( + context, + e.message.trim().isEmpty + ? 'Kunde inte skapa produkten. Försök igen.' + : e.message, ); } return; } catch (_) { if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Kunde inte skapa produkten. Försök igen.'), - ), - ); + showGlobalErrorDialog(context, 'Kunde inte skapa produkten. Försök igen.'); } return; } finally {