import { IconSparkles } from '@material-hu/icons/tabler';

import SidebarNavItem from '@material-hu/components/design-system/Sidebar/components/NavItem';
import { type IconsModules } from '@material-hu/components/design-system/Sidebar/constants';

import { agentsRoutes } from 'src/pages/dashboard/Agents/routes';
import { useLokaliseTranslation } from 'src/utils/i18n';
import { Module } from 'src/types/modules';

import useGetSidebarIcon from '../hooks/useGetSidebarIcon';
import { type SidebarItemProps } from '../types';
import { getItemIsActive } from '../utils';

const AgentsItem = ({
  isCollapsed,
  onClick,
  isActive: isActiveProp,
}: SidebarItemProps) => {
  const { t } = useLokaliseTranslation('backoffice_only');
  const getIcon = useGetSidebarIcon();
  const isActive = isActiveProp ?? getItemIsActive('agents');

  return (
    <SidebarNavItem
      key="agents"
      depth={0}
      title={t(`dashboard_sidebar.${Module.AI_AGENTS}`)}
      icon={getIcon({
        defaultIcon: IconSparkles,
        key: 'AI Agents' as IconsModules,
      })}
      path={agentsRoutes.root()}
      isCollapsed={isCollapsed}
      onClick={onClick}
      active={isActive}
    />
  );
};

export default AgentsItem;
