part of 'inventory_report_bloc.dart';

@freezed
class InventoryReportState with _$InventoryReportState {
  const factory InventoryReportState({
    required InventoryAnalytic inventoryAnalytic,
    required Option<AnalyticFailure> failureOptionInventoryAnalytic,
    required Outlet outlet,
    required Option<OutletFailure> failureOptionOutlet,
    @Default(false) bool isFetching,
    @Default(false) bool isFetchingOutlet,
  }) = _InventoryReportState;

  factory InventoryReportState.initial() => InventoryReportState(
    inventoryAnalytic: InventoryAnalytic.empty(),
    failureOptionInventoryAnalytic: none(),
    outlet: Outlet.empty(),
    failureOptionOutlet: none(),
  );
}
