2023-10-27 21:09:23 +05:30
|
|
|
import './DropDown.styles.scss';
|
|
|
|
|
|
|
|
|
|
import { EllipsisOutlined } from '@ant-design/icons';
|
|
|
|
|
import { Button, Dropdown, MenuProps, Space } from 'antd';
|
2023-11-01 00:43:22 +05:30
|
|
|
import { useIsDarkMode } from 'hooks/useDarkMode';
|
2023-10-27 21:09:23 +05:30
|
|
|
|
|
|
|
|
function DropDown({ element }: { element: JSX.Element[] }): JSX.Element {
|
2023-11-01 00:43:22 +05:30
|
|
|
const isDarkMode = useIsDarkMode();
|
|
|
|
|
|
2023-10-27 21:09:23 +05:30
|
|
|
const items: MenuProps['items'] = element.map(
|
|
|
|
|
(e: JSX.Element, index: number) => ({
|
|
|
|
|
label: e,
|
|
|
|
|
key: index,
|
|
|
|
|
}),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Dropdown menu={{ items }} className="Dropdown-container">
|
|
|
|
|
<Button
|
|
|
|
|
type="link"
|
2023-11-01 00:43:22 +05:30
|
|
|
className={!isDarkMode ? 'Dropdown-button--dark' : 'Dropdown-button'}
|
2023-10-27 21:09:23 +05:30
|
|
|
onClick={(e): void => e.preventDefault()}
|
|
|
|
|
>
|
|
|
|
|
<Space>
|
|
|
|
|
<EllipsisOutlined className="Dropdown-icon" />
|
|
|
|
|
</Space>
|
|
|
|
|
</Button>
|
|
|
|
|
</Dropdown>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default DropDown;
|