import { ReactNode, useEffect, useState } from "react"; import { SortableItem } from "./SortableItem"; export interface SortableProps { items: ReactNode[]; onChange: (newSortedIndices: number[]) => void; } export const Sortable = ({ items, onChange }) => { const [sortOrder, setSortOrder] = useState([]); const update = (newRanking: number[]) => { setSortOrder(newRanking); onChange(newRanking); }; useEffect(() => { const indices = Array.from({ length: items.length }).map((_, i) => i); setSortOrder(indices); onChange(indices); }, [items, onChange]); return ( ); };