import React, { useState, forwardRef, useRef } from 'react'; import classnames from 'classnames'; import { IconChevronRight, IconDots } from '@tabler/icons'; import Dropdown from 'components/Dropdown'; import { collectionClicked, removeCollection } from 'providers/ReduxStore/slices/collections'; import { useDispatch } from 'react-redux'; import NewRequest from 'components/Sidebar/NewRequest'; import NewFolder from 'components/Sidebar/NewFolder'; import CollectionItem from './CollectionItem'; import StyledWrapper from './StyledWrapper'; const Collection = ({collection}) => { const [showNewFolderModal, setShowNewFolderModal] = useState(false); const [showNewRequestModal, setShowNewRequestModal] = useState(false); const dispatch = useDispatch(); const menuDropdownTippyRef = useRef(); const onMenuDropdownCreate = (ref) => menuDropdownTippyRef.current = ref; const MenuIcon = forwardRef((props, ref) => { return (
); }); const iconClassName = classnames({ 'rotate-90': !collection.collapsed }); const handleClick = (event) => { dispatch(collectionClicked(collection.uid)); }; return ( {showNewRequestModal && setShowNewRequestModal(false)}/>} {showNewFolderModal && setShowNewFolderModal(false)}/>}
{collection.name}
} placement='bottom-start' >
{ menuDropdownTippyRef.current.hide(); setShowNewRequestModal(true) }}> New Request
{ menuDropdownTippyRef.current.hide(); setShowNewFolderModal(true) }}> New Folder
{ dispatch(removeCollection(collection.uid)); menuDropdownTippyRef.current.hide(); }}> Remove
{!collection.collapsed ? (
{collection.items && collection.items.length ? collection.items.map((i) => { return }) : null}
) : null}
); }; export default Collection;