import React, { useEffect, useRef, useState } from 'react'; import { useAuth } from '../context/AuthContext.tsx'; import { useFarm } from '../context/FarmContext.tsx'; import { formatDateId, resolveCycleStatus } from '../utils/format.ts'; type HeaderProps = { onToggleSidebar: () => void; isTimelineVisible: boolean; onToggleTimeline: () => void; }; const Header: React.FC = ({ onToggleSidebar, isTimelineVisible, onToggleTimeline, }) => { const { user, logout } = useAuth(); const { sites, kandangs, cycles, selectedSiteId, selectedKandangId, selectedCycleId, setSelectedSiteId, setSelectedKandangId, setSelectedCycleId, } = useFarm(); const [open, setOpen] = useState(false); const dropdownRef = useRef(null); useEffect(() => { const onClick = (event: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setOpen(false); } }; document.addEventListener('mousedown', onClick); return () => document.removeEventListener('mousedown', onClick); }, []); if (!user) return null; return (
Feed In/Out Button
{open && (

{user.display_name || user.user_name}

{user.status === 'superadmin' ? 'Admin' : 'Pengguna'}

)}
); }; export default Header;