dont sort selected draft container to front

This commit is contained in:
Fabian Freund
2025-10-02 15:01:25 +02:00
parent 4698338e93
commit 821839ef8b
2 changed files with 13 additions and 8 deletions
@@ -60,6 +60,7 @@ class ContainerDraftSuggestionsScreen extends HookConsumerWidget {
height: 48, height: 48,
child: SelectableChips( child: SelectableChips(
deleteIcon: false, deleteIcon: false,
sortSelectedFirst: false,
itemId: (container) => container, itemId: (container) => container,
itemAvatar: (container) => itemAvatar: (container) =>
const Icon(MdiIcons.creation, size: 20), const Icon(MdiIcons.creation, size: 20),
@@ -60,6 +60,7 @@ class SelectableChips<T extends S, S, K> extends StatelessWidget {
final S? selectedItem; final S? selectedItem;
final int maxCount; final int maxCount;
final bool deleteIcon; final bool deleteIcon;
final bool sortSelectedFirst;
final K Function(S item) itemId; final K Function(S item) itemId;
final Widget Function(T item) itemLabel; final Widget Function(T item) itemLabel;
@@ -88,12 +89,14 @@ class SelectableChips<T extends S, S, K> extends StatelessWidget {
this.onSelected, this.onSelected,
this.onDeleted, this.onDeleted,
this.onLongPress, this.onLongPress,
this.sortSelectedFirst = true,
super.key, super.key,
}); });
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var items = availableItems.take(maxCount).toList(); var items = availableItems.take(maxCount).toList();
if (sortSelectedFirst) {
if (selectedItem case final T selectedItem) { if (selectedItem case final T selectedItem) {
final selectedIndex = items.indexWhere( final selectedIndex = items.indexWhere(
(item) => itemId(item) == itemId(selectedItem), (item) => itemId(item) == itemId(selectedItem),
@@ -104,6 +107,7 @@ class SelectableChips<T extends S, S, K> extends StatelessWidget {
items = [items.removeAt(selectedIndex), ...items]; items = [items.removeAt(selectedIndex), ...items];
} }
} }
}
return FadingScroll( return FadingScroll(
fadingSize: 15, fadingSize: 15,