Skip to content

Commit 6fe021b

Browse files
committed
feat(content): refactor EditHeadlineBloc to fetch API data
1 parent e71c366 commit 6fe021b

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

lib/content_management/bloc/edit_headline/edit_headline_bloc.dart

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import 'package:bloc/bloc.dart';
22
import 'package:core/core.dart';
3-
import 'package:country_picker/country_picker.dart' as picker;
43
import 'package:data_repository/data_repository.dart';
54
import 'package:equatable/equatable.dart';
65
import 'package:flutter/foundation.dart';
7-
import 'package:flutter_news_app_web_dashboard_full_source_code/shared/shared.dart';
86

97
part 'edit_headline_event.dart';
108
part 'edit_headline_state.dart';
@@ -16,12 +14,14 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
1614
required DataRepository<Headline> headlinesRepository,
1715
required DataRepository<Source> sourcesRepository,
1816
required DataRepository<Topic> topicsRepository,
17+
required DataRepository<Country> countriesRepository,
1918
required String headlineId,
20-
}) : _headlinesRepository = headlinesRepository,
21-
_sourcesRepository = sourcesRepository,
22-
_topicsRepository = topicsRepository,
23-
_headlineId = headlineId,
24-
super(const EditHeadlineState()) {
19+
}) : _headlinesRepository = headlinesRepository,
20+
_sourcesRepository = sourcesRepository,
21+
_topicsRepository = topicsRepository,
22+
_countriesRepository = countriesRepository,
23+
_headlineId = headlineId,
24+
super(EditHeadlineState()) {
2525
on<EditHeadlineLoaded>(_onLoaded);
2626
on<EditHeadlineTitleChanged>(_onTitleChanged);
2727
on<EditHeadlineExcerptChanged>(_onExcerptChanged);
@@ -37,6 +37,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
3737
final DataRepository<Headline> _headlinesRepository;
3838
final DataRepository<Source> _sourcesRepository;
3939
final DataRepository<Topic> _topicsRepository;
40+
final DataRepository<Country> _countriesRepository;
4041
final String _headlineId;
4142

4243
Future<void> _onLoaded(
@@ -49,6 +50,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
4950
headlineResponse,
5051
sourcesResponse,
5152
topicsResponse,
53+
countriesResponse,
5254
] = await Future.wait([
5355
_headlinesRepository.read(id: _headlineId),
5456
_sourcesRepository.readAll(
@@ -57,11 +59,15 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
5759
_topicsRepository.readAll(
5860
sort: [const SortOption('updatedAt', SortOrder.desc)],
5961
),
62+
_countriesRepository.readAll(
63+
sort: [const SortOption('name', SortOrder.asc)],
64+
),
6065
]);
6166

6267
final headline = headlineResponse as Headline;
6368
final sources = (sourcesResponse as PaginatedResponse<Source>).items;
6469
final topics = (topicsResponse as PaginatedResponse<Topic>).items;
70+
final countries = (countriesResponse as PaginatedResponse<Country>).items;
6571

6672
emit(
6773
state.copyWith(
@@ -76,6 +82,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
7682
eventCountry: () => headline.eventCountry,
7783
sources: sources,
7884
topics: topics,
85+
countries: countries,
7986
contentStatus: headline.status,
8087
),
8188
);
@@ -159,16 +166,12 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
159166
EditHeadlineCountryChanged event,
160167
Emitter<EditHeadlineState> emit,
161168
) {
162-
final packageCountry = event.country;
163-
if (packageCountry == null) {
164-
emit(state.copyWith(eventCountry: () => null));
165-
} else {
166-
final coreCountry = adaptPackageCountryToCoreCountry(packageCountry);
167-
emit(
168-
state.copyWith(
169-
eventCountry: () => coreCountry, status: EditHeadlineStatus.initial),
170-
);
171-
}
169+
emit(
170+
state.copyWith(
171+
eventCountry: () => event.country,
172+
status: EditHeadlineStatus.initial,
173+
),
174+
);
172175
}
173176

174177
void _onStatusChanged(

0 commit comments

Comments
 (0)