ColorSelector.tsx 958 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React, { useState, useEffect } from 'react';
  2. import ColorSelectorComp from '../components/ColorSelector';
  3. import useStore from '../store';
  4. type Props = {
  5. title?: string;
  6. selectedColor?: string;
  7. onClick: (color: string) => void;
  8. mode?: 'normal' | 'shape' | 'watermark';
  9. };
  10. const ColorSelector: React.FC<Props> = ({
  11. title,
  12. onClick,
  13. selectedColor,
  14. mode,
  15. }: Props) => {
  16. const [isCollapse, setCollapse] = useState(true);
  17. const [{ sidebarState, markupToolState }] = useStore();
  18. const pickerToggle = (e: React.MouseEvent<HTMLElement>): void => {
  19. e.preventDefault();
  20. setCollapse(!isCollapse);
  21. };
  22. useEffect(() => {
  23. setCollapse(true);
  24. }, [markupToolState, sidebarState]);
  25. return (
  26. <ColorSelectorComp
  27. title={title}
  28. onClick={onClick}
  29. selectedColor={selectedColor}
  30. mode={mode}
  31. pickerToggle={pickerToggle}
  32. isCollapse={isCollapse}
  33. />
  34. );
  35. };
  36. export default ColorSelector;