"use client" import * as React from "react" import { Calendar } from "~/components/ui/BillTrackerCalendar" import CreateBillForm from "~/components/billtracker/CreateBillForm" export default function BillTrackerCalendar() { const [selectedDate, setSelectedDate] = React.useState(undefined) const [isOpen, setIsOpen] = React.useState(false) const calendarRef = React.useRef(null) const popoverRef = React.useRef(null) const handleSelect = (date: Date | undefined) => { if (date) { if (selectedDate && date.getTime() === selectedDate.getTime()) setIsOpen(!isOpen) else { setSelectedDate(date) setIsOpen(true) } } else setIsOpen(false) } React.useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if ( calendarRef.current && popoverRef.current && !calendarRef.current.contains(event.target as Node) && !popoverRef.current.contains(event.target as Node) ) { //setIsOpen(false) console.log('Calendar closed'); } } document.addEventListener('mousedown', handleClickOutside) return () => { document.removeEventListener('mousedown', handleClickOutside) } }, []) return (
{isOpen && selectedDate && (
< CreateBillForm date={selectedDate} setIsOpen={setIsOpen} />
)}
) }