index.tsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import React from 'react';
  2. import { useTranslation } from 'react-i18next';
  3. // import Icon from '../Icon';
  4. // import Button from '../Button';
  5. // import Typography from '../Typography';
  6. import SliderWithTitle from '../SliderWithTitle';
  7. import ColorSelector from '../../containers/ColorSelector';
  8. import {
  9. Wrapper,
  10. // Group,
  11. // Item,
  12. } from '../../global/toolStyled';
  13. const FreehandOption: React.SFC<OptionPropsType> = ({
  14. // type,
  15. color,
  16. opacity,
  17. width,
  18. setDataState = (): void => {
  19. // do nothing
  20. },
  21. }: OptionPropsType) => {
  22. const { t } = useTranslation('sidebar');
  23. return (
  24. <>
  25. {/* <Wrapper>
  26. <Typography variant="subtitle" style={{ marginTop: '4px' }} align="left">
  27. {t('style')}
  28. </Typography>
  29. <Group>
  30. <Item
  31. size="small"
  32. selected={type === 'pen'}
  33. onClick={(): void => { setDataState({ type: 'pen' }); }}
  34. >
  35. <Icon glyph="freehand" />
  36. </Item>
  37. <Item size="small">
  38. <Icon glyph="eraser" />
  39. </Item>
  40. <Item size="small">
  41. <Icon glyph="redo" />
  42. </Item>
  43. <Item size="small">
  44. <Icon glyph="undo" />
  45. </Item>
  46. </Group>
  47. </Wrapper> */}
  48. <Wrapper>
  49. <ColorSelector
  50. title={t('color')}
  51. mode="freehand"
  52. selectedColor={color}
  53. onClick={(selected: string): void => {
  54. setDataState({ color: selected });
  55. }}
  56. />
  57. </Wrapper>
  58. <Wrapper>
  59. <SliderWithTitle
  60. title={t('opacity')}
  61. value={opacity}
  62. tips={`${opacity}%`}
  63. onSlide={(val: number): void => {
  64. setDataState({ opacity: val });
  65. }}
  66. />
  67. </Wrapper>
  68. <Wrapper>
  69. <SliderWithTitle
  70. title={t('brushSize')}
  71. value={width}
  72. tips={`${width} pt`}
  73. onSlide={(val: number): void => {
  74. setDataState({ width: val });
  75. }}
  76. maximum={40}
  77. />
  78. </Wrapper>
  79. {/* <Wrapper>
  80. <Group style={{ marginTop: '20px', paddingRight: '40px' }}>
  81. <Button
  82. appearance="danger-hollow"
  83. shouldFitContainer
  84. >
  85. <Icon glyph="clear" style={{ marginRight: '5px' }} />
  86. {t('clear')}
  87. </Button>
  88. </Group>
  89. </Wrapper> */}
  90. </>
  91. );
  92. };
  93. export default FreehandOption;