import React, { useState } from 'react'; import { PlusCircleIcon, ChevronDownIcon, ClipboardIcon, FolderIcon, BookOpenIcon, Squares2X2Icon, } from '@heroicons/react/24/outline'; import { useTranslation } from 'react-i18next'; import { Note } from '../../entities/Note'; import { Area } from '../../entities/Area'; interface CreateNewDropdownButtonProps { openTaskModal: (type?: 'simplified' | 'full') => void; openProjectModal: () => void; openNoteModal: (note: Note | null) => void; openAreaModal: (area: Area | null) => void; } const CreateNewDropdownButton: React.FC = ({ openTaskModal, openProjectModal, openNoteModal, openAreaModal, }) => { const { t } = useTranslation(); const [isDropdownOpen, setIsDropdownOpen] = useState(false); const toggleDropdown = () => { setIsDropdownOpen(!isDropdownOpen); }; const handleDropdownSelect = (type: string) => { switch (type) { case 'Task': openTaskModal('full'); break; case 'Project': openProjectModal(); break; case 'Note': openNoteModal(null); break; case 'Area': openAreaModal(null); break; default: break; } setIsDropdownOpen(false); }; const dropdownItems = [ { label: 'Task', translationKey: 'dropdown.task', icon: }, { label: 'Project', translationKey: 'dropdown.project', icon: }, { label: 'Note', translationKey: 'dropdown.note', icon: }, { label: 'Area', translationKey: 'dropdown.area', icon: }, ]; return (
{isDropdownOpen && (
    {dropdownItems.map(({ label, translationKey, icon }) => (
  • handleDropdownSelect(label)} role="menuitem" > {icon} {t(translationKey, label)}
  • ))}
)}
); }; export default CreateNewDropdownButton;