import React from 'react'; import { FaCaretDown, FaCaretRight, FaSpinner } from 'react-icons/fa'; interface NavItemProps { isDropdown: boolean; open: boolean; isNested: boolean; titleContent: React.ReactNode; dropdownContent?: React.ReactNode; onClick?: Function; isLoading?: boolean; } const NavItem = (props: NavItemProps) => { React.useEffect(() => { if (props.open) { setNavItemOpen(props.open); } }, []); const [navItemOpen, setNavItemOpen] = React.useState(false); return ( <>
{ if (props.isDropdown) setNavItemOpen(!navItemOpen); if (props.onClick) { props.onClick(); } }} > {props.titleContent} {props.isDropdown && !props.isLoading ? ( navItemOpen ? ( ) : ( ) ) : null} {props.isLoading ? ( ) : null}
{props.isDropdown ? (
{props.dropdownContent}
) : null} ); }; export default NavItem;