{/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
{
await createRequest.mutate({ name: 'Test Request' });
}}
/>
);
}
function SidebarItems({
requests,
activeRequestId,
sidebarWidth,
}: {
requests: HttpRequest[];
activeRequestId?: string;
sidebarWidth: number;
}) {
const [items, setItems] = useState(requests.map((r) => ({ request: r, left: 0, top: 0 })));
useEffect(() => {
setItems(requests.map((r) => ({ request: r, left: 0, top: 0 })));
}, [requests.length]);
const handleMove = useCallback((id: string, hoverId: string) => {
setItems((oldItems) => {
const dragIndex = oldItems.findIndex((i) => i.request.id === id);
const index = oldItems.findIndex((i) => i.request.id === hoverId);
const newItems = [...oldItems];
const b = newItems[index]!;
newItems[index] = newItems[dragIndex]!;
newItems[dragIndex] = b;
return newItems;
});
}, []);
return (
<>
{items.map(({ request }) => (