Skip to content

Commit d8672da

Browse files
committed
feat(content_management): add country data to create headline state
- Add countriesRepository to CreateHeadlineBloc constructor - Fetch countries data in _onDataLoaded event handler - Store countries in CreateHeadlineState - Update imports to include Country model
1 parent 632b11e commit d8672da

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

lib/content_management/bloc/create_headline/create_headline_bloc.dart

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
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';
@@ -18,10 +17,12 @@ class CreateHeadlineBloc
1817
required DataRepository<Headline> headlinesRepository,
1918
required DataRepository<Source> sourcesRepository,
2019
required DataRepository<Topic> topicsRepository,
21-
}) : _headlinesRepository = headlinesRepository,
22-
_sourcesRepository = sourcesRepository,
23-
_topicsRepository = topicsRepository,
24-
super(const CreateHeadlineState()) {
20+
required DataRepository<Country> countriesRepository,
21+
}) : _headlinesRepository = headlinesRepository,
22+
_sourcesRepository = sourcesRepository,
23+
_topicsRepository = topicsRepository,
24+
_countriesRepository = countriesRepository,
25+
super(const CreateHeadlineState()) {
2526
on<CreateHeadlineDataLoaded>(_onDataLoaded);
2627
on<CreateHeadlineTitleChanged>(_onTitleChanged);
2728
on<CreateHeadlineExcerptChanged>(_onExcerptChanged);
@@ -37,6 +38,7 @@ class CreateHeadlineBloc
3738
final DataRepository<Headline> _headlinesRepository;
3839
final DataRepository<Source> _sourcesRepository;
3940
final DataRepository<Topic> _topicsRepository;
41+
final DataRepository<Country> _countriesRepository;
4042
final _uuid = const Uuid();
4143

4244
Future<void> _onDataLoaded(
@@ -48,23 +50,30 @@ class CreateHeadlineBloc
4850
final [
4951
sourcesResponse,
5052
topicsResponse,
53+
countriesResponse,
5154
] = await Future.wait([
5255
_sourcesRepository.readAll(
5356
sort: [const SortOption('updatedAt', SortOrder.desc)],
5457
),
5558
_topicsRepository.readAll(
5659
sort: [const SortOption('updatedAt', SortOrder.desc)],
5760
),
61+
_countriesRepository.readAll(
62+
sort: [const SortOption('name', SortOrder.asc)],
63+
),
5864
]);
5965

6066
final sources = (sourcesResponse as PaginatedResponse<Source>).items;
6167
final topics = (topicsResponse as PaginatedResponse<Topic>).items;
68+
final countries =
69+
(countriesResponse as PaginatedResponse<Country>).items;
6270

6371
emit(
6472
state.copyWith(
6573
status: CreateHeadlineStatus.initial,
6674
sources: sources,
6775
topics: topics,
76+
countries: countries,
6877
),
6978
);
7079
} on HttpException catch (e) {

0 commit comments

Comments
 (0)