part of 'split_bill_form_bloc.dart';

@freezed
class SplitBillFormState with _$SplitBillFormState {
  factory SplitBillFormState({
    required Order order,
    required List<OrderItem> pendingItems,
    Customer? customer,
    required String customerName,
    required SplitType splitType,
    required Map<String, int> selectedProducts,
    @Default(0) int totalAmount,
    @Default(false) bool isConfirming,
  }) = _SplitBillFormState;

  factory SplitBillFormState.initial() => SplitBillFormState(
    order: Order.empty(),
    pendingItems: [],
    customerName: '',
    splitType: SplitType.amount,
    selectedProducts: {},
  );
}
