import { useEffect, useState } from "react"; import styles from "./Calendar.module.css"; import OutsideClickListener from "../../../hooks/_utils/outsideClick"; import { UtilMenu } from "../menus/UtilMenu"; /** * @param {object} props * @param {boolean} props.hideUtilMenus * @param {Function} props.showUtilMenu */ export function Calendar({ hideUtilMenus, showUtilMenu }) { const [date, setDate] = useState(new Date()); const [showMenu, setShowMenu] = useState(false); useEffect(() => { const interval = setInterval(() => { setDate(new Date()); }, showMenu ? 500 : 30000); return () => { clearInterval(interval); }; }, [showMenu]); useEffect(() => { if (hideUtilMenus && showMenu) { setShowMenu(false); } }, [hideUtilMenus, showMenu]); const updateShowMenu = (show) => { if (show) showUtilMenu(); setShowMenu(show); }; return ( { updateShowMenu(false); }}>

{date.toLocaleString("en-GB", { hour: "numeric", minute: "numeric", second: "numeric", hour12: false, })}

{date.toLocaleString("en-GB", { weekday: "long", day: "numeric", month: "long", year: "numeric", })}

); }