import React from 'react'; import { MenuItem } from '@material-ui/core'; import PropTypes from 'prop-types'; import DropdownMenu from '../DropdownMenu/DropdownMenu'; import useProjects from '../../../hooks/api/getters/useProjects/useProjects'; const ALL_PROJECTS = { id: '*', name: '> All projects' }; const ProjectSelect = ({ currentProjectId, updateCurrentProject, ...rest }) => { const { projects } = useProjects(); const setProject = v => { const id = v && typeof v === 'string' ? v.trim() : '*'; updateCurrentProject(id); }; // TODO fixme let curentProject = projects.find(i => i.id === currentProjectId); if (!curentProject) { curentProject = ALL_PROJECTS; } const handleChangeProject = e => { const target = e.target.getAttribute('data-target'); setProject(target); }; const renderProjectItem = (selectedId, item) => ( {item.name} ); const renderProjectOptions = () => { const start = [ {ALL_PROJECTS.name} , ]; return [ ...start, ...projects.map(p => renderProjectItem(currentProjectId, p)), ]; }; const { updateSetting, fetchProjects, ...passDown } = rest; return ( ); }; ProjectSelect.propTypes = { projects: PropTypes.array.isRequired, fetchProjects: PropTypes.func.isRequired, currentProjectId: PropTypes.string.isRequired, updateCurrentProject: PropTypes.func.isRequired, }; export default ProjectSelect;