ToolButton.tsx 758 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { Button, Drawer, Tooltip } from "antd";
  2. import { useState } from "react";
  3. interface IWidget {
  4. icon?: JSX.Element;
  5. content?: JSX.Element;
  6. title?: string;
  7. }
  8. const ToolButtonWidget = ({ icon, content, title }: IWidget) => {
  9. const [open, setOpen] = useState(false);
  10. return (
  11. <>
  12. <Tooltip placement="right" title={title}>
  13. <Button
  14. size="middle"
  15. icon={icon}
  16. onClick={() => {
  17. setOpen(true);
  18. }}
  19. />
  20. </Tooltip>
  21. <Drawer
  22. title={title}
  23. width={460}
  24. placement="left"
  25. onClose={() => {
  26. setOpen(false);
  27. }}
  28. open={open}
  29. >
  30. {content}
  31. </Drawer>
  32. </>
  33. );
  34. };
  35. export default ToolButtonWidget;