feat: New Open Tab dialog with search and optional customer email. Drinks are now grouped per order. Payments trigger cha-ching and money rain.

This commit is contained in:
2026-10-28 02:11:32 +01:00
parent 1aee0541c4
commit 29ceb51177
41 changed files with 2771 additions and 812 deletions
+11 -1
View File
@@ -5,6 +5,7 @@ import 'tab_item.dart';
class BarTab {
final String id;
final String customerName;
final String? email;
final DateTime openedAt;
final int version;
final List<TabItem> items;
@@ -12,6 +13,7 @@ class BarTab {
const BarTab({
required this.id,
required this.customerName,
this.email,
required this.openedAt,
this.version = 0,
required this.items,
@@ -31,11 +33,19 @@ class BarTab {
other is BarTab &&
id == other.id &&
customerName == other.customerName &&
email == other.email &&
openedAt == other.openedAt &&
version == other.version &&
listEquals(items, other.items);
@override
int get hashCode =>
Object.hash(id, customerName, openedAt, version, Object.hashAll(items));
Object.hash(
id,
customerName,
email,
openedAt,
version,
Object.hashAll(items),
);
}