import { IModuleItem } from "@/features/local/modules/IModuleItem"; import { getModuleItemUrl } from "@/services/urlUtils"; import Link from "next/link"; import { ReactNode, useRef, useState } from "react"; import { useCourseContext } from "../../context/courseContext"; import { DraggableItem } from "../../context/drag/draggingContext"; import ClientOnly from "@/components/ClientOnly"; import { useDragStyleContext } from "../../context/drag/dragStyleContext"; import { Tooltip } from "../../../../../components/Tooltip"; export function ItemInDay({ type, moduleName, status, item, message, }: { type: "assignment" | "page" | "quiz"; status: "localOnly" | "incomplete" | "published"; moduleName: string; item: IModuleItem; message: ReactNode; }) { const { courseName } = useCourseContext(); const { setIsDragging } = useDragStyleContext(); const linkRef = useRef(null); const [tooltipVisible, setTooltipVisible] = useState(false); return (
{ const draggableItem: DraggableItem = { type, item, sourceModuleName: moduleName, }; e.dataTransfer.setData( "draggableItem", JSON.stringify(draggableItem) ); setIsDragging(true); }} onMouseEnter={() => setTooltipVisible(true)} onMouseLeave={() => setTooltipVisible(false)} ref={linkRef} > {item.name}
); }