Skip to content

Commit 25aed47

Browse files
committed
refactor(content_management): update form fields in create source page
- Replace LanguagePickerFormField with LanguageDropdownFormField - Replace CountryPickerFormField with CountryDropdownFormField - Optimize CreateSourceBloc initialization - Improve code readability in form field onChanged callbacks
1 parent 12a4a33 commit 25aed47

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed

lib/content_management/view/create_source_page.dart

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
44
import 'package:flutter_bloc/flutter_bloc.dart';
55
import 'package:flutter_news_app_web_dashboard_full_source_code/content_management/bloc/content_management_bloc.dart';
66
import 'package:flutter_news_app_web_dashboard_full_source_code/content_management/bloc/create_source/create_source_bloc.dart';
7-
import 'package:flutter_news_app_web_dashboard_full_source_code/content_management/bloc/edit_source/edit_source_bloc.dart';
87
import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/l10n.dart';
98
import 'package:flutter_news_app_web_dashboard_full_source_code/shared/shared.dart';
109
import 'package:go_router/go_router.dart';
@@ -21,7 +20,7 @@ class CreateSourcePage extends StatelessWidget {
2120
@override
2221
Widget build(BuildContext context) {
2322
return BlocProvider(
24-
create: (context) => CreateSourceBloc(
23+
create: (context) => CreateSourceBloc(sourcesRepository: sourcesRepository, countriesRepository: countriesRepository, languagesRepository: languagesRepository)(
2524
sourcesRepository: context.read<DataRepository<Source>>(),
2625
countriesRepository: context.read<DataRepository<Country>>(),
2726
languagesRepository: context.read<DataRepository<Language>>(),
@@ -161,13 +160,13 @@ class _CreateSourceViewState extends State<_CreateSourceView> {
161160
.add(CreateSourceUrlChanged(value)),
162161
),
163162
const SizedBox(height: AppSpacing.lg),
164-
LanguagePickerFormField(
163+
LanguageDropdownFormField(
165164
labelText: l10n.language,
165+
languages: state.languages,
166166
initialValue: state.language,
167-
onChanged: (language) =>
168-
context.read<CreateSourceBloc>().add(
169-
CreateSourceLanguageChanged(language),
170-
),
167+
onChanged: (value) => context
168+
.read<CreateSourceBloc>()
169+
.add(CreateSourceLanguageChanged(value)),
171170
),
172171
const SizedBox(height: AppSpacing.lg),
173172
DropdownButtonFormField<SourceType?>(
@@ -190,18 +189,13 @@ class _CreateSourceViewState extends State<_CreateSourceView> {
190189
.add(CreateSourceTypeChanged(value)),
191190
),
192191
const SizedBox(height: AppSpacing.lg),
193-
CountryPickerFormField(
192+
CountryDropdownFormField(
194193
labelText: l10n.headquarters,
195-
initialValue: state.headquarters != null
196-
? adaptCoreCountryToPackageCountry(
197-
state.headquarters!,
198-
)
199-
: null,
200-
onChanged: (picker.Country country) {
201-
context.read<CreateSourceBloc>().add(
202-
CreateSourceHeadquartersChanged(country),
203-
);
204-
},
194+
countries: state.countries,
195+
initialValue: state.headquarters,
196+
onChanged: (value) => context
197+
.read<CreateSourceBloc>()
198+
.add(CreateSourceHeadquartersChanged(value)),
205199
),
206200
const SizedBox(height: AppSpacing.lg),
207201
DropdownButtonFormField<ContentStatus>(

0 commit comments

Comments
 (0)