From a5cad32f7452d10a1844b45c28ad788597533248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SUGGESTIED=20=E2=9C=A8?= <74950245+suggestied@users.noreply.github.com> Date: Tue, 25 Feb 2025 10:09:07 +0100 Subject: [PATCH 1/2] Add lists to store selected images in SettingsAccountController * Add `_selectedImages` and `_selectedWebImages` lists to store selected images --- .../settings_account_controller.dart | 3 ++ lib/ui/screens/wardrobe_item/page.dart | 40 +++++-------------- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/lib/controllers/settings_account_controller.dart b/lib/controllers/settings_account_controller.dart index f8b0646..bbd60dd 100644 --- a/lib/controllers/settings_account_controller.dart +++ b/lib/controllers/settings_account_controller.dart @@ -9,6 +9,9 @@ import 'package:supabase_flutter/supabase_flutter.dart'; class SettingsAccountController { final AppRepository _appRepository = GetIt.instance(); + List _selectedImages = []; + List _selectedWebImages = []; + Future fetchUserProfile() async { try { final profiles = await _appRepository.get(); diff --git a/lib/ui/screens/wardrobe_item/page.dart b/lib/ui/screens/wardrobe_item/page.dart index f5a8504..1b1e30a 100644 --- a/lib/ui/screens/wardrobe_item/page.dart +++ b/lib/ui/screens/wardrobe_item/page.dart @@ -4,9 +4,6 @@ import 'package:openwardrobe/brick/models/wardrobe_item.model.dart'; import 'package:openwardrobe/presentation/blocs/wardrobe_item/wardrobe_item_cubit.dart'; import 'package:openwardrobe/presentation/blocs/wardrobe_item/wardrobe_item_state.dart'; import 'package:openwardrobe/ui/widgets/wardrobe_item/wardrobe_item_component.dart'; -import 'package:collection/collection.dart'; -import 'package:openwardrobe/presentation/blocs/category/category_cubit.dart'; // Added import -import 'package:openwardrobe/presentation/blocs/category/category_state.dart'; // Added import class WardrobeItemPage extends StatefulWidget { final String itemId; @@ -48,9 +45,7 @@ class _WardrobeItemPageState extends State { onPressed: () { if (state.isEditing) { // Save changes - context - .read() - .updateWardrobeItem(state.item); + context.read().updateWardrobeItem(state.item); } context.read().toggleEditing(); }, @@ -85,10 +80,8 @@ class _WardrobeItemPageState extends State { ), ), const SizedBox(height: 24), - if (state.isEditing) - ..._buildEditingFields(context, state.item) - else - ..._buildViewFields(state.item), + if (state.isEditing) ..._buildEditingFields(context, state.item) + else ..._buildViewFields(state.item), ], ), ); @@ -113,25 +106,14 @@ class _WardrobeItemPageState extends State { }, ), const SizedBox(height: 16), - BlocBuilder( - builder: (context, state) { - if (state.isLoading) { - return const CircularProgressIndicator(); - } else if (state.error != null) { - return Text('Error: ${state.error}'); - } else { - return DropdownMenu( - initialSelection: item.itemCategory?.name ?? '', - onSelected: (String? value) { - // TODO: Update category - }, - dropdownMenuEntries: UnmodifiableListView>( - state.categories.map>( - (category) => DropdownMenuEntry(value: category.name, label: category.name), - ), - ), - ); - } + TextFormField( + initialValue: item.itemCategory?.name ?? '', + decoration: const InputDecoration( + labelText: 'Category', + border: OutlineInputBorder(), + ), + onChanged: (value) { + // TODO: Update category }, ), ]; From 5570ef08c4f996b7b0b0c9a3b5f35e3e4dbbb208 Mon Sep 17 00:00:00 2001 From: Luc Lammers Date: Tue, 25 Feb 2025 10:12:13 +0100 Subject: [PATCH 2/2] Fix for getting images --- lib/controllers/settings_account_controller.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/controllers/settings_account_controller.dart b/lib/controllers/settings_account_controller.dart index bbd60dd..5ead8ed 100644 --- a/lib/controllers/settings_account_controller.dart +++ b/lib/controllers/settings_account_controller.dart @@ -12,6 +12,8 @@ class SettingsAccountController { List _selectedImages = []; List _selectedWebImages = []; + List get selectedImages => _selectedImages; + Future fetchUserProfile() async { try { final profiles = await _appRepository.get();