Skip to content

Commit ca80750

Browse files
committed
refactor(archived_sources): redefine ArchivedSourcesState with status management and additional properties
1 parent 5059e8a commit ca80750

File tree

1 file changed

+47
-6
lines changed

1 file changed

+47
-6
lines changed
Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,51 @@
11
part of 'archived_sources_bloc.dart';
22

3-
sealed class ArchivedSourcesState extends Equatable {
4-
const ArchivedSourcesState();
5-
6-
@override
7-
List<Object> get props => [];
3+
/// Represents the status of archived content operations.
4+
enum ArchivedSourcesStatus {
5+
initial,
6+
loading,
7+
success,
8+
failure,
89
}
910

10-
final class ArchivedSourcesInitial extends ArchivedSourcesState {}
11+
/// The state for the archived content feature.
12+
class ArchivedSourcesState extends Equatable {
13+
const ArchivedSourcesState({
14+
this.status = ArchivedSourcesStatus.initial,
15+
this.sources = const [],
16+
this.cursor,
17+
this.hasMore = false,
18+
this.exception,
19+
});
20+
21+
final ArchivedSourcesStatus status;
22+
final List<Source> sources;
23+
final String? cursor;
24+
final bool hasMore;
25+
final HttpException? exception;
26+
27+
ArchivedSourcesState copyWith({
28+
ArchivedSourcesStatus? status,
29+
List<Source>? sources,
30+
String? cursor,
31+
bool? hasMore,
32+
HttpException? exception,
33+
}) {
34+
return ArchivedSourcesState(
35+
status: status ?? this.status,
36+
sources: sources ?? this.sources,
37+
cursor: cursor ?? this.cursor,
38+
hasMore: hasMore ?? this.hasMore,
39+
exception: exception ?? this.exception,
40+
);
41+
}
42+
43+
@override
44+
List<Object?> get props => [
45+
status,
46+
sources,
47+
cursor,
48+
hasMore,
49+
exception,
50+
];
51+
}

0 commit comments

Comments
 (0)