import { FC, useState } from 'react' import { Box, IconButton } from '@mui/material' import ShuffleIcon from '@mui/icons-material/NextPlan' import { EmplyeeCard, EmployeeCardProps } from 'components/molecules/EmplyeeCard/index.js' import { EmployeeDescription } from 'components/molecules/EmployeeDescription/index.js' interface Props { items: EmployeeCardProps[] onClick?: (event: React.MouseEvent, description: EmployeeDescription) => void // Visual offsets offsetStep?: number // px shift per card maxVisible?: number // how many cards we actually render (performance) } const EmplyeeStack: FC = ({ offsetStep = 10, // px shift per card maxVisible = 6, // how many cards we actually render (performance) items: initialItems, onClick, }) => { const [items, setItems] = useState(initialItems) const [prevInitialItems, setPrevInitialItems] = useState(initialItems) if (prevInitialItems !== initialItems) { setPrevInitialItems(initialItems) setItems(initialItems) } const handleTopClick = () => { if (items.length) { setItems([...items.slice(1), items[0]]) } } if (items.length === 0) return null if (items.length === 1) return return ( {items.slice(0, maxVisible).map((props, idx) => ( ))} ) } export default EmplyeeStack