import '../../../../model/tour.dart'; abstract class TourState {} class TourInitial extends TourState {} class TourLoading extends TourState {} class TourLoadingFailed extends TourState {} class TourLoaded extends TourState { Tour tour; Map? distances; List paymentOptions; Map> sortingInformation; /// Number of scan-related server requests currently in flight. Drives the /// inline indicator on the scanner widget. Using a counter (not bool) lets /// rapid-fire scans coexist without one prematurely clearing the indicator. int pendingScanRequests; TourLoaded({ required this.tour, this.distances, required this.paymentOptions, required this.sortingInformation, this.pendingScanRequests = 0, }); TourLoaded copyWith({ Tour? tour, Map? distances, List? paymentOptions, Map>? sortingInformation, int? pendingScanRequests, }) { return TourLoaded( tour: tour ?? this.tour, distances: distances ?? this.distances, paymentOptions: paymentOptions ?? this.paymentOptions, sortingInformation: sortingInformation ?? this.sortingInformation, pendingScanRequests: pendingScanRequests ?? this.pendingScanRequests, ); } }