import Modal, { useModal } from "@/components/Modal"; import { getLectureUrl } from "@/services/urlUtils"; import Link from "next/link"; import { useCourseContext } from "../../context/courseContext"; import NewItemForm from "../../modules/NewItemForm"; import { DraggableItem } from "../../context/drag/draggingContext"; import { useDragStyleContext } from "../../context/drag/dragStyleContext"; import { getLectureForDay } from "@/models/local/utils/lectureUtils"; import { useLecturesSuspenseQuery } from "@/hooks/localCourse/lectureHooks"; import ClientOnly from "@/components/ClientOnly"; import { Tooltip } from "@/components/Tooltip"; import { useRef, useState } from "react"; export function DayTitle({ day, dayAsDate }: { day: string; dayAsDate: Date }) { const { courseName } = useCourseContext(); const { data: weeks } = useLecturesSuspenseQuery(); const { setIsDragging } = useDragStyleContext(); const todaysLecture = getLectureForDay(weeks, dayAsDate); const modal = useModal(); const linkRef = useRef(null); const [tooltipVisible, setTooltipVisible] = useState(false); const lectureName = todaysLecture && (todaysLecture.name || "lecture"); return (
{ if (todaysLecture) { const draggableItem: DraggableItem = { type: "lecture", item: { ...todaysLecture, dueAt: todaysLecture.date }, sourceModuleName: undefined, }; e.dataTransfer.setData( "draggableItem", JSON.stringify(draggableItem) ); setIsDragging(true); } }} ref={linkRef} onMouseEnter={() => setTooltipVisible(true)} onMouseLeave={() => setTooltipVisible(false)} > {dayAsDate.getDate()} {lectureName} {(lectureName?.length ?? 0) > 0 && ( {lectureName} {todaysLecture?.content && ( <>
                      {todaysLecture?.content}
                    
)}
} targetRef={linkRef} visible={tooltipVisible} /> )} {({ closeModal }) => (

)}
); }