import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core' import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, } from '@dnd-kit/sortable' import { useStore } from '../store' import StopItem from './StopItem' export default function StopList() { const stops = useStore((s) => s.stops) const reorderStops = useStore((s) => s.reorderStops) const geoPermission = useStore((s) => s.geoPermission) const sensors = useSensors( useSensor(PointerSensor, { activationConstraint: { distance: 5 } }), useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }) ) function handleDragEnd(event) { const { active, over } = event if (!over || active.id === over.id) return const oldIndex = stops.findIndex((s) => s.id === active.id) const newIndex = stops.findIndex((s) => s.id === over.id) reorderStops(arrayMove(stops, oldIndex, newIndex)) } if (stops.length === 0) { return (