part of 'account_bloc.dart';

sealed class AccountEvent extends Equatable {
  const AccountEvent();

  @override
  List<Object> get props => [];
}

final class ClearData extends AccountEvent {
  const ClearData();
}

final class AccountImportCSV extends AccountEvent {
  const AccountImportCSV();
}

final class AccountImportJSON extends AccountEvent {
  const AccountImportJSON();
}

final class AccountExportJSON extends AccountEvent {
  const AccountExportJSON();
}

final class AccountExportCSV extends AccountEvent {
  const AccountExportCSV();
}

final class AccountLoad extends AccountEvent {
  final List<Account> subAccounts;
  const AccountLoad(this.subAccounts);

  @override
  List<Object> get props => [subAccounts]; 
}

final class AccountEditColor extends AccountEvent {
  final Account account;
  final String color;

  const AccountEditColor(this.account, this.color);

  @override
  List<Object> get props => [account, color]; 
}

final class AccountEditSaving extends AccountEvent {
  final Account account;
  final bool saving;

  const AccountEditSaving(this.account, this.saving);

  @override
  List<Object> get props => [account, saving]; 
}

final class AccountEditLabel extends AccountEvent {
  final Account account;
  final String label;

  const AccountEditLabel(this.account, this.label);

  @override
  List<Object> get props => [account, label]; 
}

final class AccountRemove extends AccountEvent {
  final Account account;

  const AccountRemove(this.account);

  @override
  List<Object> get props => [account]; 
}

final class AccountAdd extends AccountEvent {}
