@archireport/react-native-svg-draw 2.3.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +34 -35
  2. package/lib/commonjs/components/DrawCore/DrawContext.js +4 -1
  3. package/lib/commonjs/components/DrawCore/DrawContext.js.map +1 -1
  4. package/lib/commonjs/components/DrawCore/DrawPad.js +9 -3
  5. package/lib/commonjs/components/DrawCore/DrawPad.js.map +1 -1
  6. package/lib/commonjs/components/DrawCore/DrawProvider.js +16 -2
  7. package/lib/commonjs/components/DrawCore/DrawProvider.js.map +1 -1
  8. package/lib/commonjs/components/DrawCore/index.js +65 -71
  9. package/lib/commonjs/components/DrawCore/index.js.map +1 -1
  10. package/lib/commonjs/components/DrawCore/useDrawHook.js +15 -13
  11. package/lib/commonjs/components/DrawCore/useDrawHook.js.map +1 -1
  12. package/lib/commonjs/components/DrawWithOptions/index.js +7 -11
  13. package/lib/commonjs/components/DrawWithOptions/index.js.map +1 -1
  14. package/lib/module/components/DrawCore/DrawContext.js +4 -1
  15. package/lib/module/components/DrawCore/DrawContext.js.map +1 -1
  16. package/lib/module/components/DrawCore/DrawPad.js +10 -4
  17. package/lib/module/components/DrawCore/DrawPad.js.map +1 -1
  18. package/lib/module/components/DrawCore/DrawProvider.js +17 -3
  19. package/lib/module/components/DrawCore/DrawProvider.js.map +1 -1
  20. package/lib/module/components/DrawCore/index.js +65 -71
  21. package/lib/module/components/DrawCore/index.js.map +1 -1
  22. package/lib/module/components/DrawCore/useDrawHook.js +15 -13
  23. package/lib/module/components/DrawCore/useDrawHook.js.map +1 -1
  24. package/lib/module/components/DrawWithOptions/index.js +8 -12
  25. package/lib/module/components/DrawWithOptions/index.js.map +1 -1
  26. package/lib/typescript/components/DrawCore/DrawContext.d.ts +3 -0
  27. package/lib/typescript/components/DrawCore/DrawContext.d.ts.map +1 -1
  28. package/lib/typescript/components/DrawCore/DrawPad.d.ts +2 -1
  29. package/lib/typescript/components/DrawCore/DrawPad.d.ts.map +1 -1
  30. package/lib/typescript/components/DrawCore/DrawProvider.d.ts.map +1 -1
  31. package/lib/typescript/components/DrawCore/index.d.ts +2 -1
  32. package/lib/typescript/components/DrawCore/index.d.ts.map +1 -1
  33. package/lib/typescript/components/DrawCore/useDrawHook.d.ts +4 -1
  34. package/lib/typescript/components/DrawCore/useDrawHook.d.ts.map +1 -1
  35. package/lib/typescript/components/DrawWithOptions/index.d.ts +1 -1
  36. package/lib/typescript/components/DrawWithOptions/index.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/components/DrawCore/DrawContext.tsx +6 -0
  39. package/src/components/DrawCore/DrawPad.tsx +76 -67
  40. package/src/components/DrawCore/DrawProvider.tsx +23 -1
  41. package/src/components/DrawCore/index.tsx +63 -63
  42. package/src/components/DrawCore/useDrawHook.tsx +12 -7
  43. package/src/components/DrawWithOptions/index.tsx +10 -11
  44. package/src/types.d.ts +5 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useState","Pressable","View","StyleSheet","Keyboard","DoubleHeadSvg","CircleSvg","SquareSvg","ArrowSvg","TextSvg","CloseSvg","PenSvg","useDrawHook","Sliders","DrawCore","ThrashSvg","CancelSvg","SendSvg","DrawProvider","styles","create","container","flex","actionButton","backgroundColor","padding","justifyContent","alignContent","alignItems","height","borderRadius","width","option","marginHorizontal","toolbar","flexDirection","paddingBottom","paddingTop","paddingHorizontal","drawOptions","sendButton","marginLeft","bottomToolBar","DrawWithOptionsCore","linearGradient","image","close","takeSnapshot","itemIsSelected","cancelLastAction","takeSnapshotAction","deleteSelectedItem","dispatchDrawStates","drawState","showToolbar","setShowToolbar","sudDidHide","addListener","sudDidShow","event","console","log","endCoordinates","remove","takeSnapshotAndGetUri","alignSelf","borderWidth","borderColor","paddingVertical","type","drawingMode","value","marginRight","cancelEnabled","DrawWithOptions","props"],"sourceRoot":"../../../../src","sources":["components/DrawWithOptions/index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","Pressable","View","StyleSheet","Keyboard","DoubleHeadSvg","CircleSvg","SquareSvg","ArrowSvg","TextSvg","CloseSvg","PenSvg","useDrawHook","Sliders","DrawCore","ThrashSvg","CancelSvg","SendSvg","DrawProvider","styles","create","container","flex","actionButton","backgroundColor","padding","justifyContent","alignContent","alignItems","height","borderRadius","width","option","marginHorizontal","toolbar","flexDirection","paddingBottom","paddingTop","paddingHorizontal","drawOptions","sendButton","marginLeft","bottomToolBar","DrawWithOptionsCore","linearGradient","image","close","actionWithSnapShotUri","itemIsSelected","cancelLastAction","deleteSelectedItem","dispatchDrawStates","drawState","doSnapshot","showToolbar","setShowToolbar","sudDidHide","addListener","sudDidShow","event","console","log","endCoordinates","remove","alignSelf","borderWidth","borderColor","paddingVertical","type","drawingMode","value","marginRight","cancelEnabled","DrawWithOptions","props"],"sourceRoot":"../../../../src","sources":["components/DrawWithOptions/index.tsx"],"mappings":"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"}
@@ -12,5 +12,8 @@ export declare const DrawContext: import("react").Context<{
12
12
  itemIsSelected?: SharedValue<boolean> | undefined;
13
13
  viewShot?: RefObject<ViewShot> | undefined;
14
14
  doubleArrowTextInput?: RefObject<TextInput> | undefined;
15
+ doSnapshot: () => void;
16
+ snapShotRequested: boolean;
17
+ setSnapShotRequested: React.Dispatch<React.SetStateAction<boolean>>;
15
18
  }>;
16
19
  //# sourceMappingURL=DrawContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawContext.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,WAAW;eACX,SAAS;wBACA,MAAM,QAAQ,CAAC,MAAM,CAAC;;;;;;;EAe1C,CAAC"}
1
+ {"version":3,"file":"DrawContext.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,WAAW;eACX,SAAS;wBACA,MAAM,QAAQ,CAAC,MAAM,CAAC;;;;;;;gBAO9B,MAAM,IAAI;uBACH,OAAO;0BACJ,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;EAYnE,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type Animated from 'react-native-reanimated';
2
2
  import type { DrawItem } from '../../types';
3
- declare const DrawPad: ({ currentItem, doneItems, onPressItem, onTextHeightChange, addBackground, }: {
3
+ declare const DrawPad: ({ currentItem, doneItems, onPressItem, onTextHeightChange, addBackground, ratioImage, }: {
4
4
  currentItem: Animated.SharedValue<DrawItem | null>;
5
5
  doneItems: Array<DrawItem>;
6
6
  onPressItem: (item: DrawItem, index: number) => () => void;
7
7
  onTextHeightChange: (height: number) => void;
8
8
  addBackground?: boolean | undefined;
9
+ ratioImage?: number | undefined;
9
10
  }) => JSX.Element;
10
11
  export default DrawPad;
11
12
  //# sourceMappingURL=DrawPad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawPad.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawPad.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAKpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,QAAA,MAAM,OAAO;iBAOE,SAAS,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;eACvC,MAAM,QAAQ,CAAC;wBACN,QAAQ,SAAS,MAAM,KAAK,MAAM,IAAI;iCAC7B,MAAM,KAAK,IAAI;;iBAmF7C,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"DrawPad.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawPad.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAKpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,QAAA,MAAM,OAAO;iBAQE,SAAS,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;eACvC,MAAM,QAAQ,CAAC;wBACN,QAAQ,SAAS,MAAM,KAAK,MAAM,IAAI;iCAC7B,MAAM,KAAK,IAAI;;;iBA2F7C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawProvider.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,YAAY,EAA+B,MAAM,OAAO,CAAC;AAqFzE,QAAA,MAAM,YAAY;cAA8B,YAAY;iBAuC3D,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"DrawProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/DrawProvider.tsx"],"names":[],"mappings":"AACA,OAAc,EACZ,YAAY,EAMb,MAAM,OAAO,CAAC;AAqFf,QAAA,MAAM,YAAY;cAA8B,YAAY;iBAsD3D,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { ImageRequireSource, ImageURISource } from 'react-native';
2
- declare const DrawCore: ({ image, backgroundColor, }: {
2
+ declare const DrawCore: ({ image, backgroundColor, actionWithSnapShotUri, }: {
3
3
  image?: number | ImageURISource | undefined;
4
4
  backgroundColor?: string | undefined;
5
+ actionWithSnapShotUri?: ((uri: string) => Promise<void>) | undefined;
5
6
  }) => JSX.Element;
6
7
  export default DrawCore;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,kBAAkB,EAClB,cAAc,EAEf,MAAM,cAAc,CAAC;AAsNtB,QAAA,MAAM,QAAQ;;;iBAgoCb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,kBAAkB,EAClB,cAAc,EAEf,MAAM,cAAc,CAAC;AAsNtB,QAAA,MAAM,QAAQ;;;mCAOkB,MAAM,KAAK,QAAQ,IAAI,CAAC;iBAynCvD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -9,10 +9,13 @@ declare const useDrawHook: () => {
9
9
  onColorStrokeChange: () => void;
10
10
  itemIsSelected: import("react-native-reanimated").SharedValue<boolean>;
11
11
  cancelLastAction: () => void;
12
- takeSnapshot: () => Promise<string | undefined>;
12
+ captureSnapshot: () => Promise<string | null | undefined>;
13
13
  viewShot: import("react").RefObject<import("react-native-view-shot").default>;
14
14
  deleteSelectedItem: () => void;
15
15
  doubleArrowTextInput: import("react").RefObject<import("react-native/types").TextInput> | undefined;
16
+ snapShotRequested: boolean;
17
+ doSnapshot: () => void;
18
+ setSnapShotRequested: import("react").Dispatch<import("react").SetStateAction<boolean>>;
16
19
  };
17
20
  export default useDrawHook;
18
21
  //# sourceMappingURL=useDrawHook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawHook.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/useDrawHook.tsx"],"names":[],"mappings":";;AAGA,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAkEhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useDrawHook.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawCore/useDrawHook.tsx"],"names":[],"mappings":";;AAGA,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;CAuEhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -6,7 +6,7 @@ type DrawWithOptionsProps = {
6
6
  } & ViewProps>;
7
7
  image?: ImageRequireSource | ImageURISource;
8
8
  close?: () => void;
9
- takeSnapshot?: (snap: Promise<string | undefined>) => void;
9
+ actionWithSnapShotUri?: (uri: string) => Promise<void>;
10
10
  backgroundColor?: string;
11
11
  };
12
12
  export default function DrawWithOptions(props: DrawWithOptionsProps): JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawWithOptions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAIL,SAAS,EACT,kBAAkB,EAClB,cAAc,EAEf,MAAM,cAAc,CAAC;AAiEtB,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,MAAM,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAkPF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAMlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DrawWithOptions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAIL,SAAS,EACT,kBAAkB,EAClB,cAAc,EAEf,MAAM,cAAc,CAAC;AAiEtB,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,MAAM,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAiPF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAMlE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archireport/react-native-svg-draw",
3
- "version": "2.3.2",
3
+ "version": "3.0.0",
4
4
  "description": "React Native drawing component based on SVG with editable annotations",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -13,6 +13,9 @@ export const DrawContext = createContext<{
13
13
  itemIsSelected?: SharedValue<boolean>;
14
14
  viewShot?: RefObject<ViewShot>;
15
15
  doubleArrowTextInput?: RefObject<TextInput>;
16
+ doSnapshot: () => void;
17
+ snapShotRequested: boolean;
18
+ setSnapShotRequested: React.Dispatch<React.SetStateAction<boolean>>;
16
19
  }>({
17
20
  drawState: {
18
21
  doneItems: [],
@@ -21,4 +24,7 @@ export const DrawContext = createContext<{
21
24
  cancelEnabled: false,
22
25
  },
23
26
  dispatchDrawStates: () => true,
27
+ doSnapshot: () => {},
28
+ snapShotRequested: false,
29
+ setSnapShotRequested: () => {},
24
30
  });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type Animated from 'react-native-reanimated';
3
- import Svg, { Circle, Defs, Marker, Polyline, Use } from 'react-native-svg';
3
+ import Svg, { Circle, Defs, G, Marker, Polyline, Use } from 'react-native-svg';
4
4
  import CurrentAnimatedItem from './CurrentAnimatedItem';
5
5
  import CurrentAnimatedText from './CurrentAnimatedText';
6
6
  import Item from './Item';
@@ -13,86 +13,95 @@ const DrawPad = ({
13
13
  onPressItem,
14
14
  onTextHeightChange,
15
15
  addBackground = false,
16
+ ratioImage = 1,
16
17
  }: {
17
18
  currentItem: Animated.SharedValue<DrawItem | null>;
18
19
  doneItems: Array<DrawItem>;
19
20
  onPressItem: (item: DrawItem, index: number) => () => void;
20
21
  onTextHeightChange: (height: number) => void;
21
22
  addBackground?: boolean;
23
+ ratioImage?: number;
22
24
  }) => {
23
25
  return (
24
26
  <>
25
- <Svg style={addBackground ? { backgroundColor: 'white' } : null}>
26
- <Defs>
27
- <Circle
28
- id="selectionIndicator"
29
- fill="#3a6cff"
30
- r={10}
31
- cx={0}
32
- cy={0}
33
- strokeWidth={1}
34
- stroke="black"
35
- />
36
- <Marker
37
- id="arrowhead"
38
- markerUnits={'strokeWidth' as MarkerUnits}
39
- refX="0"
40
- refY="0"
41
- orient="auto"
42
- >
43
- <Polyline
44
- points="-2,-2 0,0 -2,2 0,0"
45
- stroke="context-stroke"
46
- strokeLinecap="round"
47
- strokeLinejoin="round"
27
+ <Svg
28
+ style={addBackground ? { backgroundColor: 'white' } : null}
29
+ preserveAspectRatio="xMinYMin slice"
30
+ height="100%"
31
+ width="100%"
32
+ >
33
+ <G scale={ratioImage}>
34
+ <Defs>
35
+ <Circle
36
+ id="selectionIndicator"
37
+ fill="#3a6cff"
38
+ r={10}
39
+ cx={0}
40
+ cy={0}
41
+ strokeWidth={1}
42
+ stroke="black"
48
43
  />
49
- </Marker>
50
- <Marker
51
- id="arrowheadStart"
52
- markerUnits={'strokeWidth' as MarkerUnits}
53
- refX="0"
54
- refY="0"
55
- orient="auto"
56
- >
57
- <Polyline
58
- points="2,-2 0,0 2,2 0,0"
59
- stroke="context-stroke"
60
- strokeLinecap="round"
61
- strokeLinejoin="round"
62
- />
63
- </Marker>
44
+ <Marker
45
+ id="arrowhead"
46
+ markerUnits={'strokeWidth' as MarkerUnits}
47
+ refX="0"
48
+ refY="0"
49
+ orient="auto"
50
+ >
51
+ <Polyline
52
+ points="-2,-2 0,0 -2,2 0,0"
53
+ stroke="context-stroke"
54
+ strokeLinecap="round"
55
+ strokeLinejoin="round"
56
+ />
57
+ </Marker>
58
+ <Marker
59
+ id="arrowheadStart"
60
+ markerUnits={'strokeWidth' as MarkerUnits}
61
+ refX="0"
62
+ refY="0"
63
+ orient="auto"
64
+ >
65
+ <Polyline
66
+ points="2,-2 0,0 2,2 0,0"
67
+ stroke="context-stroke"
68
+ strokeLinecap="round"
69
+ strokeLinejoin="round"
70
+ />
71
+ </Marker>
64
72
 
65
- <Marker
66
- id="side"
67
- markerUnits={'strokeWidth' as MarkerUnits}
68
- refX="0"
69
- refY="0"
70
- orient="auto"
71
- >
72
- <Polyline
73
- stroke="context-stroke"
74
- points="0,-2 0,2 0,0"
75
- strokeLinecap="round"
76
- strokeLinejoin="round"
77
- />
78
- </Marker>
73
+ <Marker
74
+ id="side"
75
+ markerUnits={'strokeWidth' as MarkerUnits}
76
+ refX="0"
77
+ refY="0"
78
+ orient="auto"
79
+ >
80
+ <Polyline
81
+ stroke="context-stroke"
82
+ points="0,-2 0,2 0,0"
83
+ strokeLinecap="round"
84
+ strokeLinejoin="round"
85
+ />
86
+ </Marker>
79
87
 
80
- <Marker
81
- id="selection"
82
- markerUnits={'userSpaceOnUse' as MarkerUnits}
83
- refX="0"
84
- refY="0"
85
- orient="auto"
86
- >
87
- <Use href="#selectionIndicator" />
88
- </Marker>
89
- </Defs>
88
+ <Marker
89
+ id="selection"
90
+ markerUnits={'userSpaceOnUse' as MarkerUnits}
91
+ refX="0"
92
+ refY="0"
93
+ orient="auto"
94
+ >
95
+ <Use href="#selectionIndicator" />
96
+ </Marker>
97
+ </Defs>
90
98
 
91
- {doneItems.map((item, index) => (
92
- <Item key={index} item={item} onPress={onPressItem(item, index)} />
93
- ))}
99
+ {doneItems.map((item, index) => (
100
+ <Item key={index} item={item} onPress={onPressItem(item, index)} />
101
+ ))}
94
102
 
95
- <CurrentAnimatedItem />
103
+ <CurrentAnimatedItem />
104
+ </G>
96
105
  </Svg>
97
106
  <CurrentAnimatedText
98
107
  currentItem={currentItem}
@@ -1,5 +1,12 @@
1
1
  import { DrawContext } from './DrawContext';
2
- import React, { ReactElement, useMemo, useReducer, useRef } from 'react';
2
+ import React, {
3
+ ReactElement,
4
+ useCallback,
5
+ useMemo,
6
+ useReducer,
7
+ useRef,
8
+ useState,
9
+ } from 'react';
3
10
  import type { Action, DrawItem, DrawState, hslColor } from '../../types';
4
11
  import { useSharedValue } from 'react-native-reanimated';
5
12
  import type ViewShot from 'react-native-view-shot';
@@ -92,10 +99,19 @@ const DrawProvider = ({ children }: { children: ReactElement }) => {
92
99
  const viewShot = useRef<ViewShot>(null);
93
100
  const doubleArrowTextInput = useRef<TextInput>(null);
94
101
 
102
+ const [snapShotRequested, setSnapShotRequested] = useState(false);
103
+
95
104
  const [drawState, dispatchDrawStates] = useReducer(
96
105
  reducerDrawStates,
97
106
  initialState
98
107
  );
108
+ const doSnapshot = useCallback(() => {
109
+ if (currentItem?.value) {
110
+ dispatchDrawStates({ type: 'ADD_DONE_ITEM', item: currentItem.value });
111
+ currentItem.value = null;
112
+ }
113
+ setSnapShotRequested(true);
114
+ }, [currentItem, dispatchDrawStates]);
99
115
 
100
116
  const contextValue = useMemo(
101
117
  () => ({
@@ -107,6 +123,9 @@ const DrawProvider = ({ children }: { children: ReactElement }) => {
107
123
  itemIsSelected,
108
124
  viewShot,
109
125
  doubleArrowTextInput,
126
+ doSnapshot,
127
+ snapShotRequested,
128
+ setSnapShotRequested,
110
129
  }),
111
130
  [
112
131
  drawState,
@@ -117,6 +136,9 @@ const DrawProvider = ({ children }: { children: ReactElement }) => {
117
136
  itemIsSelected,
118
137
  viewShot,
119
138
  doubleArrowTextInput,
139
+ doSnapshot,
140
+ snapShotRequested,
141
+ setSnapShotRequested,
120
142
  ]
121
143
  );
122
144