ColorSelector.tsx 902 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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 = (): void => {
  19. setCollapse(!isCollapse);
  20. };
  21. useEffect(() => {
  22. setCollapse(true);
  23. }, [markupToolState, sidebarState]);
  24. return (
  25. <ColorSelectorComp
  26. title={title}
  27. onClick={onClick}
  28. selectedColor={selectedColor}
  29. mode={mode}
  30. pickerToggle={pickerToggle}
  31. isCollapse={isCollapse}
  32. />
  33. );
  34. };
  35. export default ColorSelector;