diff --git a/app/lib/features/geckoview/features/tabs/presentation/screens/container_draft_suggestions.dart b/app/lib/features/geckoview/features/tabs/presentation/screens/container_draft_suggestions.dart index f3073533..754f545a 100644 --- a/app/lib/features/geckoview/features/tabs/presentation/screens/container_draft_suggestions.dart +++ b/app/lib/features/geckoview/features/tabs/presentation/screens/container_draft_suggestions.dart @@ -60,6 +60,7 @@ class ContainerDraftSuggestionsScreen extends HookConsumerWidget { height: 48, child: SelectableChips( deleteIcon: false, + sortSelectedFirst: false, itemId: (container) => container, itemAvatar: (container) => const Icon(MdiIcons.creation, size: 20), diff --git a/app/lib/presentation/widgets/selectable_chips.dart b/app/lib/presentation/widgets/selectable_chips.dart index 8544e8a4..3c218dc5 100644 --- a/app/lib/presentation/widgets/selectable_chips.dart +++ b/app/lib/presentation/widgets/selectable_chips.dart @@ -60,6 +60,7 @@ class SelectableChips extends StatelessWidget { final S? selectedItem; final int maxCount; final bool deleteIcon; + final bool sortSelectedFirst; final K Function(S item) itemId; final Widget Function(T item) itemLabel; @@ -88,20 +89,23 @@ class SelectableChips extends StatelessWidget { this.onSelected, this.onDeleted, this.onLongPress, + this.sortSelectedFirst = true, super.key, }); @override Widget build(BuildContext context) { var items = availableItems.take(maxCount).toList(); - if (selectedItem case final T selectedItem) { - final selectedIndex = items.indexWhere( - (item) => itemId(item) == itemId(selectedItem), - ); - if (selectedIndex < 0) { - items = [selectedItem, ...items]; - } else { - items = [items.removeAt(selectedIndex), ...items]; + if (sortSelectedFirst) { + if (selectedItem case final T selectedItem) { + final selectedIndex = items.indexWhere( + (item) => itemId(item) == itemId(selectedItem), + ); + if (selectedIndex < 0) { + items = [selectedItem, ...items]; + } else { + items = [items.removeAt(selectedIndex), ...items]; + } } }