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 "@/features/local/utils/lectureUtils"; import { useLecturesSuspenseQuery } from "@/features/local/lectures/lectureHooks"; import ClientOnly from "@/components/ClientOnly"; import { Tooltip } from "@/components/Tooltip"; import { useTooltip } from "@/components/useTooltip"; 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 { visible, targetRef, showTooltip, hideTooltip } = useTooltip(); 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={targetRef} onMouseEnter={showTooltip} onMouseLeave={hideTooltip} > {dayAsDate.getDate()} {lectureName} {(lectureName?.length ?? 0) > 0 && ( {lectureName} {todaysLecture?.content && ( <>
                      {todaysLecture?.content}
                    
)}
} targetRef={targetRef} visible={visible} /> )} ( )} modalControl={modal} modalWidth="w-135" > {({ closeModal }) => (

)}
); }