import React from "react"; import { Link } from "react-router-dom"; import { IoIosArrowDown } from "react-icons/io"; import styles from './SidebarStyles/SidebarItem.module.css'; import SidebarSubmenu from "./SidebarSubmenu"; import { SidebarItemProps } from "./sidebarTypes"; const SidebarItem: React.FC = ({ item, isOpen, onToggle, isActive, isMinimized }) => { const Icon = item.icon as React.ComponentType>; const hasSubItems = item.submenu && item.submenu.length > 0; const isDisabled = item.moduleEnabled === false; const toggleSubmenu = (e: React.MouseEvent) => { if (isDisabled) { e.preventDefault(); return; } if (hasSubItems) { e.preventDefault(); onToggle(); } }; const handleLinkClick = (e: React.MouseEvent) => { if (isDisabled) { e.preventDefault(); return; } }; return (
  • {/* Icon is always present */} {Icon && } {/* Text content - always present but hidden when minimized */} {hasSubItems ? ( {item.name} ) : ( {item.name} )} {isMinimized && !isDisabled && ( )}
  • {hasSubItems && !isMinimized && !isDisabled && }
    ); }; export default SidebarItem;