11import 'package:bloc/bloc.dart' ;
22import 'package:core/core.dart' ;
3+ import 'package:country_picker/country_picker.dart' as picker;
34import 'package:data_repository/data_repository.dart' ;
45import 'package:equatable/equatable.dart' ;
56import 'package:flutter/foundation.dart' ;
7+ import 'package:flutter_news_app_web_dashboard_full_source_code/shared/shared.dart' ;
68
79part 'edit_headline_event.dart' ;
810part 'edit_headline_state.dart' ;
@@ -14,12 +16,10 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
1416 required DataRepository <Headline > headlinesRepository,
1517 required DataRepository <Source > sourcesRepository,
1618 required DataRepository <Topic > topicsRepository,
17- required DataRepository <Country > countriesRepository,
1819 required String headlineId,
1920 }) : _headlinesRepository = headlinesRepository,
2021 _sourcesRepository = sourcesRepository,
2122 _topicsRepository = topicsRepository,
22- _countriesRepository = countriesRepository,
2323 _headlineId = headlineId,
2424 super (const EditHeadlineState ()) {
2525 on < EditHeadlineLoaded > (_onLoaded);
@@ -37,7 +37,6 @@ 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;
4140 final String _headlineId;
4241
4342 Future <void > _onLoaded (
@@ -50,7 +49,6 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
5049 headlineResponse,
5150 sourcesResponse,
5251 topicsResponse,
53- countriesResponse,
5452 ] = await Future .wait ([
5553 _headlinesRepository.read (id: _headlineId),
5654 _sourcesRepository.readAll (
@@ -59,15 +57,11 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
5957 _topicsRepository.readAll (
6058 sort: [const SortOption ('updatedAt' , SortOrder .desc)],
6159 ),
62- _countriesRepository.readAll (
63- sort: [const SortOption ('updatedAt' , SortOrder .desc)],
64- ),
6560 ]);
6661
6762 final headline = headlineResponse as Headline ;
6863 final sources = (sourcesResponse as PaginatedResponse <Source >).items;
6964 final topics = (topicsResponse as PaginatedResponse <Topic >).items;
70- final countries = (countriesResponse as PaginatedResponse <Country >).items;
7165
7266 emit (
7367 state.copyWith (
@@ -82,7 +76,6 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
8276 eventCountry: () => headline.eventCountry,
8377 sources: sources,
8478 topics: topics,
85- countries: countries,
8679 contentStatus: headline.status,
8780 ),
8881 );
@@ -166,12 +159,16 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
166159 EditHeadlineCountryChanged event,
167160 Emitter <EditHeadlineState > emit,
168161 ) {
169- emit (
170- state.copyWith (
171- eventCountry: () => event.country,
172- status: EditHeadlineStatus .initial,
173- ),
174- );
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+ }
175172 }
176173
177174 void _onStatusChanged (
0 commit comments