Skip to content

Commit 73e116f

Browse files
committed
feat: updates the EditHeadlineBloc to fully manage the ContentStatus. This includes loading the initial status when the headline data is fetched, adding an event handler for the new EditHeadlineStatusChanged event, and including the updated status in the payload when the form is submitted.
1 parent de0bbba commit 73e116f

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

lib/content_management/bloc/edit_headline/edit_headline_bloc.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
2727
on<EditHeadlineImageUrlChanged>(_onImageUrlChanged);
2828
on<EditHeadlineSourceChanged>(_onSourceChanged);
2929
on<EditHeadlineCategoryChanged>(_onCategoryChanged);
30+
on<EditHeadlineStatusChanged>(_onStatusChanged);
3031
on<EditHeadlineSubmitted>(_onSubmitted);
3132
}
3233

@@ -68,6 +69,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
6869
category: () => headline.category,
6970
sources: sources,
7071
categories: categories,
72+
contentStatus: headline.status,
7173
),
7274
);
7375
} on HtHttpException catch (e) {
@@ -151,6 +153,18 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
151153
);
152154
}
153155

156+
void _onStatusChanged(
157+
EditHeadlineStatusChanged event,
158+
Emitter<EditHeadlineState> emit,
159+
) {
160+
emit(
161+
state.copyWith(
162+
contentStatus: event.status,
163+
status: EditHeadlineStatus.initial,
164+
),
165+
);
166+
}
167+
154168
Future<void> _onSubmitted(
155169
EditHeadlineSubmitted event,
156170
Emitter<EditHeadlineState> emit,
@@ -177,6 +191,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
177191
imageUrl: state.imageUrl.isNotEmpty ? state.imageUrl : null,
178192
source: state.source,
179193
category: state.category,
194+
status: state.contentStatus,
180195
);
181196

182197
await _headlinesRepository.update(id: _headlineId, item: updatedHeadline);

0 commit comments

Comments
 (0)