Skip to content

Commit aa132ad

Browse files
committed
feat(account): add available countries state
- Create AvailableCountriesState class to manage the state of available countries - Define AvailableCountriesStatus enum for different state statuses - Implement copyWith method for easy state modification - Override props method for Equatable comparison
1 parent d6f3502 commit aa132ad

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
part of 'available_countries_bloc.dart';
2+
3+
enum AvailableCountriesStatus { initial, loading, success, failure }
4+
5+
class AvailableCountriesState extends Equatable {
6+
const AvailableCountriesState({
7+
this.status = AvailableCountriesStatus.initial,
8+
this.availableCountries = const [],
9+
this.error,
10+
});
11+
12+
final AvailableCountriesStatus status;
13+
final List<Country> availableCountries;
14+
final String? error;
15+
16+
AvailableCountriesState copyWith({
17+
AvailableCountriesStatus? status,
18+
List<Country>? availableCountries,
19+
String? error,
20+
bool clearError = false,
21+
}) {
22+
return AvailableCountriesState(
23+
status: status ?? this.status,
24+
availableCountries: availableCountries ?? this.availableCountries,
25+
error: clearError ? null : error ?? this.error,
26+
);
27+
}
28+
29+
@override
30+
List<Object?> get props => [
31+
status,
32+
availableCountries,
33+
error,
34+
];
35+
}

0 commit comments

Comments
 (0)