Skip to content

Commit f0ae19c

Browse files
committed
feat(source): add logo url field to edit source page
Integrates the `logoUrl` input field into the `EditSourcePage` UI. This change adds the necessary `TextEditingController` and `TextFormField` to allow users to edit the URL for the source's logo. The controller is properly initialized, disposed, and updated from the BLoC state. The text field is connected to the `EditSourceBloc` to handle state updates.
1 parent 0f2dfc6 commit f0ae19c

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

lib/content_management/view/edit_source_page.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,23 @@ class _EditSourceViewState extends State<_EditSourceView> {
4343
late final TextEditingController _nameController;
4444
late final TextEditingController _descriptionController;
4545
late final TextEditingController _urlController;
46+
late final TextEditingController _logoUrlController;
4647

4748
@override
4849
void initState() {
4950
super.initState();
5051
_nameController = TextEditingController();
5152
_descriptionController = TextEditingController();
5253
_urlController = TextEditingController();
54+
_logoUrlController = TextEditingController();
5355
}
5456

5557
@override
5658
void dispose() {
5759
_nameController.dispose();
5860
_descriptionController.dispose();
5961
_urlController.dispose();
62+
_logoUrlController.dispose();
6063
super.dispose();
6164
}
6265

@@ -140,6 +143,7 @@ class _EditSourceViewState extends State<_EditSourceView> {
140143
_nameController.text = state.name;
141144
_descriptionController.text = state.description;
142145
_urlController.text = state.url;
146+
_logoUrlController.text = state.logoUrl;
143147
}
144148
},
145149
builder: (context, state) {
@@ -201,6 +205,17 @@ class _EditSourceViewState extends State<_EditSourceView> {
201205
),
202206
),
203207
const SizedBox(height: AppSpacing.lg),
208+
TextFormField(
209+
controller: _logoUrlController,
210+
decoration: InputDecoration(
211+
labelText: l10n.logoUrl,
212+
border: const OutlineInputBorder(),
213+
),
214+
onChanged: (value) => context.read<EditSourceBloc>().add(
215+
EditSourceLogoUrlChanged(value),
216+
),
217+
),
218+
const SizedBox(height: AppSpacing.lg),
204219
SearchableSelectionInput<Language>(
205220
label: l10n.language,
206221
selectedItems: state.language != null

0 commit comments

Comments
 (0)