import React, { useState, useEffect } from 'react'; import { View } from '../../types/common.ts'; export interface NavItem { view: View; label: string; icon: React.ReactNode; permissionId?: string; href?: string; subItems?: NavItem[]; disabled?: boolean; } interface NavLinkProps { item: NavItem; isActive: boolean; isCollapsed: boolean; setView: (view: View) => void; view: View; } const NavLink: React.FC = ({ item, isActive, isCollapsed, setView, view }) => { const [isOpen, setIsOpen] = useState(isActive); useEffect(() => { if (isActive) { setIsOpen(true); } }, [isActive]); useEffect(() => { if (isCollapsed) { setIsOpen(false); } }, [isCollapsed]); if (item.subItems) { return (
  • {!isCollapsed && isOpen && ( )}
  • ); } return (
  • ); }; export default NavLink;