container bar reordering

This commit is contained in:
Fabian Freund
2026-05-26 11:57:26 +02:00
parent 8d882ffc3f
commit 417586fd8f
2 changed files with 194 additions and 77 deletions
@@ -33,6 +33,7 @@ import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/features/tabs/data/entities/container_filter.dart';
import 'package:weblibre/features/geckoview/features/tabs/data/models/container_data.dart';
import 'package:weblibre/features/geckoview/features/tabs/domain/providers.dart';
import 'package:weblibre/features/geckoview/features/tabs/domain/repositories/container.dart';
import 'package:weblibre/features/geckoview/features/tabs/domain/repositories/gecko_inference.dart';
import 'package:weblibre/features/geckoview/features/tabs/presentation/widgets/container_chip_content.dart';
import 'package:weblibre/features/geckoview/features/tabs/presentation/widgets/tab_drag_container_target.dart';
@@ -360,6 +361,10 @@ class ContainerChips extends HookConsumerWidget {
(filter) => containers.where(filter).toList(),
) ??
containers;
final enableContainerReorder =
enableDragAndDrop &&
containerFilter == null &&
searchTextListenable == null;
if (selectedContainer == null &&
availableContainers.isEmpty &&
@@ -477,6 +482,21 @@ class ContainerChips extends HookConsumerWidget {
onSelected: onSelected,
onDeleted: onDeleted,
onLongPress: onLongPress,
onReorder: enableContainerReorder
? (oldIndex, newIndex) {
unawaited(
ref
.read(
containerRepositoryProvider.notifier,
)
.reorderContainer(
availableContainers,
oldIndex,
newIndex,
),
);
}
: null,
),
),
if (displayMenu)