fix: Make transactions atomic / AutoLogout

This commit is contained in:
2026-08-03 02:22:26 +02:00
parent 6060ca2713
commit 0997d110d4
14 changed files with 604 additions and 285 deletions
+5 -5
View File
@@ -343,7 +343,7 @@ class _TabPanel extends StatefulWidget {
final Map<String, int> stockByProductId;
final VoidCallback onNewTabPressed;
final ValueChanged<String> onTabSelected;
final Future<void> Function(TabItem item, int quantity) onItemQuantityChanged;
final Future<void> Function(TabItem item, int delta) onItemQuantityChanged;
final VoidCallback onCloseTabPressed;
final Future<void> Function(String) onTabClosed;
@@ -634,7 +634,7 @@ class _OpenTabsList extends StatelessWidget {
class _SelectedTabDetails extends StatelessWidget {
final BarTab tab;
final Map<String, int> stockByProductId;
final Future<void> Function(TabItem item, int quantity) onItemQuantityChanged;
final Future<void> Function(TabItem item, int delta) onItemQuantityChanged;
final VoidCallback onCloseTabPressed;
const _SelectedTabDetails({
@@ -747,7 +747,7 @@ class _SelectedTabDetails extends StatelessWidget {
class _TabItemRow extends StatelessWidget {
final TabItem item;
final Map<String, int> stockByProductId;
final Future<void> Function(TabItem item, int quantity) onQuantityChanged;
final Future<void> Function(TabItem item, int delta) onQuantityChanged;
const _TabItemRow({
required this.item,
@@ -796,7 +796,7 @@ class _TabItemRow extends StatelessWidget {
visualDensity: VisualDensity.compact,
onPressed: () async {
try {
await onQuantityChanged(item, item.quantity - 1);
await onQuantityChanged(item, -1);
} catch (e, stack) {
Sentry.captureException(e, stackTrace: stack);
if (context.mounted) {
@@ -821,7 +821,7 @@ class _TabItemRow extends StatelessWidget {
onPressed: canIncrease
? () async {
try {
await onQuantityChanged(item, item.quantity + 1);
await onQuantityChanged(item, 1);
} catch (e, stack) {
if (e is! InsufficientStockException) {
Sentry.captureException(e, stackTrace: stack);