import { Spinner } from "@/components/Spinner"; import { useUpdateCanvasTabMutation } from "@/hooks/canvas/canvasNavigationHooks"; import { CanvasCourseTab } from "@/services/canvas/canvasNavigationService"; import React, { FC } from "react"; export const NavTabListItem: FC<{ tab: CanvasCourseTab; idx: number; onDragStart: () => void; onDragOver: (e: React.DragEvent) => void; onDrop: () => void; }> = ({ tab, idx, onDragStart, onDragOver, onDrop }) => { const updateTab = useUpdateCanvasTabMutation(); const [isDragOver, setIsDragOver] = React.useState(false); const handleToggleVisibility = () => { updateTab.mutate({ tabId: tab.id, hidden: !tab.hidden, position: tab.position, }); }; return (
  • { e.preventDefault(); setIsDragOver(true); }} onDragLeave={() => setIsDragOver(false)} onDrop={(e) => { setIsDragOver(false); onDrop(); }} > {tab.label} {updateTab.isPending && } {tab.type}
  • ); };