import React from 'react'; import { Avatar, Button, Input, Menu, MenuProps, Progress, Typography, Tooltip, } from 'antd'; import { useStore } from '@/mstore'; import Project from '@/mstore/types/project'; import { observer } from 'mobx-react-lite'; import { Globe, Smartphone } from 'lucide-react'; import { SearchOutlined, EditOutlined } from '@ant-design/icons'; import ProjectForm from 'Components/Client/Projects/ProjectForm'; import { useModal } from 'Components/ModalContext'; import { useTranslation } from 'react-i18next'; type MenuItem = Required['items'][number]; const ProjectList: React.FC = () => { const { t } = useTranslation(); const { projectsStore } = useStore(); const [search, setSearch] = React.useState(''); const { openModal, closeModal } = useModal(); const filteredProjects = projectsStore.list.filter((project: Project) => project.name.toLowerCase().includes(search.toLowerCase()), ); const handleSearch = (value: string) => setSearch(value); const onClick: MenuProps['onClick'] = (e) => { const pid = parseInt(e.key as string); projectsStore.setConfigProject(pid); }; const projectEditHandler = (e: React.MouseEvent, project: Project) => { // e.stopPropagation(); projectsStore.initProject(project); openModal(, { title: t('Edit Project'), }); }; const menuItems: MenuItem[] = filteredProjects.map((project) => ({ key: `${project.id}`, label: ( {project.name} ), extra: (