import React, { useRef, forwardRef, useState, useEffect } from 'react'; import Dropdown from 'components/Dropdown'; import { IconAdjustmentsHorizontal, IconCaretDown, IconBox } from '@tabler/icons'; import WorkspaceConfigurer from "../WorkspaceConfigurer"; import { useDispatch, useSelector } from 'react-redux'; import { selectWorkspace } from 'providers/ReduxStore/slices/workspaces'; import StyledWrapper from './StyledWrapper'; const WorkspaceSelector = () => { const dropdownTippyRef = useRef(); const [openWorkspacesModal, setOpenWorkspacesModal] = useState(false); const [activeWorkspace, setActiveWorkspace] = useState({}); const dispatch = useDispatch(); const { workspaces, activeWorkspaceUid } = useSelector((state) => state.workspaces); useEffect(() => { setActiveWorkspace(workspaces.find((workspace) => workspace.uid === activeWorkspaceUid)); }, [activeWorkspaceUid]); const Icon = forwardRef((props, ref) => { return (
{activeWorkspace.name}
); }); const onDropdownCreate = (ref) => dropdownTippyRef.current = ref; const handleSelectWorkspace = (workspace) => { dispatch(selectWorkspace(workspace)); } return (
} placement='bottom-end'> {workspaces && workspaces.length && workspaces.map((workspace) => (
handleSelectWorkspace(workspace)}> {workspace.name}
))}
{ setOpenWorkspacesModal(true); }}>
Configure
{openWorkspacesModal && setOpenWorkspacesModal(false)}/>}
); }; export default WorkspaceSelector;