related-ui-components 1.6.0 → 1.6.2
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.
- package/lib/commonjs/app.js +28 -9
- package/lib/commonjs/app.js.map +1 -1
- package/lib/commonjs/components/ScratchCard/ScratchCard.js +72 -65
- package/lib/commonjs/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/app.js +31 -12
- package/lib/module/app.js.map +1 -1
- package/lib/module/components/ScratchCard/ScratchCard.js +74 -67
- package/lib/module/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/module/index.js +4 -7
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/app.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/module/app.d.ts.map +1 -1
- package/lib/typescript/module/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +19 -1
- package/src/components/ScratchCard/ScratchCard.tsx +38 -26
- package/src/index.ts +4 -4
package/lib/commonjs/app.js
CHANGED
|
@@ -236,15 +236,34 @@ function App() {
|
|
|
236
236
|
flex: 1,
|
|
237
237
|
backgroundColor: theme.background
|
|
238
238
|
},
|
|
239
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
239
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.ScratchCard, {
|
|
240
|
+
backgroundColor: "#8A2BE2",
|
|
241
|
+
text: "Scratch to reveal your prize!",
|
|
242
|
+
textFontColor: "#FFFFFF",
|
|
243
|
+
textFontSize: 18,
|
|
244
|
+
width: 300,
|
|
245
|
+
height: 150
|
|
246
|
+
// onScratched={() => alert("Congratulations! You won a prize!")}
|
|
247
|
+
,
|
|
248
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index2.ScratchCardContent, {
|
|
249
|
+
style: {
|
|
250
|
+
backgroundColor: "#FFD700"
|
|
251
|
+
},
|
|
252
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
253
|
+
style: {
|
|
254
|
+
fontSize: 24,
|
|
255
|
+
fontWeight: "bold",
|
|
256
|
+
color: "#000"
|
|
257
|
+
},
|
|
258
|
+
children: "50% OFF COUPON"
|
|
259
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
260
|
+
style: {
|
|
261
|
+
marginTop: 8,
|
|
262
|
+
color: "#333"
|
|
263
|
+
},
|
|
264
|
+
children: "Use code: SCRATCH50"
|
|
265
|
+
})]
|
|
266
|
+
})
|
|
248
267
|
})
|
|
249
268
|
})
|
|
250
269
|
})
|
package/lib/commonjs/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","rewardsData","helper","activeIcon","primary","title","description","isActive","status","statusBackgroundColor","disabled","statusTextColor","secondary","GestureHandlerRootView","children","RelatedProvider","SafeAreaView","style","padding","flex","backgroundColor","background","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","rewardsData","helper","activeIcon","primary","title","description","isActive","status","statusBackgroundColor","disabled","statusTextColor","secondary","GestureHandlerRootView","children","RelatedProvider","SafeAreaView","style","padding","flex","backgroundColor","background","ScratchCard","textFontColor","textFontSize","height","jsxs","ScratchCardContent","Text","fontSize","fontWeight","marginTop","styles","StyleSheet","create","container","testButton","paddingVertical","paddingHorizontal","borderRadius","marginBottom","buttonText","textAlign"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNativeSkia = require("@shopify/react-native-skia");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
11
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -29,13 +31,11 @@ const ScratchCard = ({
|
|
|
29
31
|
const font = (0, _reactNativeSkia.useFont)(textFont, textFontSize);
|
|
30
32
|
const [[areaWidth, areaHeight], setSize] = (0, _react.useState)([0, 0]);
|
|
31
33
|
const [isScratched, setScratched] = (0, _react.useState)(false);
|
|
32
|
-
const
|
|
33
|
-
const path = (0, _react.useRef)(_reactNativeSkia.Skia.Path.Make());
|
|
34
|
-
const lastKnownY = (0, _react.useRef)(null);
|
|
34
|
+
const path = (0, _reactNativeReanimated.useSharedValue)(_reactNativeSkia.Skia.Path.Make().moveTo(0, 0));
|
|
35
35
|
|
|
36
36
|
//Check scratch progress
|
|
37
37
|
const checkScratchProgress = () => {
|
|
38
|
-
const bounds = path.
|
|
38
|
+
const bounds = path.value.getBounds();
|
|
39
39
|
const scratchedArea = bounds.height * bounds.width;
|
|
40
40
|
const totalArea = areaWidth * areaHeight;
|
|
41
41
|
if (scratchedArea / totalArea > revealThreshold && !isScratched) {
|
|
@@ -45,21 +45,35 @@ const ScratchCard = ({
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
+
(0, _react.useEffect)(() => {
|
|
49
|
+
console.log("HI");
|
|
50
|
+
}, [path]);
|
|
51
|
+
const pan = _reactNativeGestureHandler.Gesture.Pan().averageTouches(true).maxPointers(1).onBegin(e => {
|
|
52
|
+
path.value.moveTo(e.x, e.y);
|
|
53
|
+
path.value.lineTo(e.x, e.y);
|
|
54
|
+
(0, _reactNativeSkia.notifyChange)(path);
|
|
55
|
+
}).onChange(e => {
|
|
56
|
+
try {
|
|
57
|
+
// checkScratchProgress();
|
|
58
|
+
path.value.lineTo(e.x, e.y);
|
|
59
|
+
(0, _reactNativeSkia.notifyChange)(path);
|
|
60
|
+
// const bounds = path.value.getBounds();
|
|
61
|
+
// const scratchedArea = bounds.height * bounds.width;
|
|
62
|
+
// const totalArea = areaWidth * areaHeight;
|
|
48
63
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
// if (scratchedArea / totalArea > revealThreshold && !isScratched) {
|
|
65
|
+
// console.log("SCRATCHED")
|
|
66
|
+
// // setScratched(true);
|
|
67
|
+
// // if (onScratched) {
|
|
68
|
+
// // onScratched();
|
|
69
|
+
// // }
|
|
70
|
+
// }
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.log(error);
|
|
57
73
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
checkScratchProgress();
|
|
62
|
-
};
|
|
74
|
+
|
|
75
|
+
// checkScratchProgress();
|
|
76
|
+
});
|
|
63
77
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
64
78
|
onLayout: e => {
|
|
65
79
|
setSize([e.nativeEvent.layout.width, e.nativeEvent.layout.height]);
|
|
@@ -71,57 +85,50 @@ const ScratchCard = ({
|
|
|
71
85
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
72
86
|
style: styles.content,
|
|
73
87
|
children: children
|
|
74
|
-
}), !isScratched && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
strokeJoin: "round",
|
|
100
|
-
strokeCap: "round",
|
|
101
|
-
strokeWidth: brushStrokeWidth
|
|
102
|
-
})]
|
|
103
|
-
}),
|
|
104
|
-
children: img ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Image, {
|
|
105
|
-
image: img,
|
|
106
|
-
fit: "cover",
|
|
107
|
-
x: 0,
|
|
108
|
-
y: 0,
|
|
109
|
-
width: areaWidth,
|
|
110
|
-
height: areaHeight
|
|
111
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
112
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
88
|
+
}), !isScratched && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
89
|
+
gesture: pan,
|
|
90
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Canvas, {
|
|
91
|
+
style: styles.canvas,
|
|
92
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Mask, {
|
|
93
|
+
mode: "luminance",
|
|
94
|
+
mask: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
95
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
96
|
+
x: 0,
|
|
97
|
+
y: 0,
|
|
98
|
+
width: 1000,
|
|
99
|
+
height: 1000,
|
|
100
|
+
color: "white"
|
|
101
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
102
|
+
path: path,
|
|
103
|
+
color: "black",
|
|
104
|
+
style: "stroke",
|
|
105
|
+
strokeJoin: "round",
|
|
106
|
+
strokeCap: "round",
|
|
107
|
+
strokeWidth: brushStrokeWidth
|
|
108
|
+
})]
|
|
109
|
+
}),
|
|
110
|
+
children: img ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Image, {
|
|
111
|
+
image: img,
|
|
112
|
+
fit: "cover",
|
|
113
113
|
x: 0,
|
|
114
114
|
y: 0,
|
|
115
115
|
width: areaWidth,
|
|
116
|
-
height: areaHeight
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
116
|
+
height: areaHeight
|
|
117
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
118
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
119
|
+
x: 0,
|
|
120
|
+
y: 0,
|
|
121
|
+
width: areaWidth,
|
|
122
|
+
height: areaHeight,
|
|
123
|
+
color: backgroundColor
|
|
124
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Text, {
|
|
125
|
+
x: areaWidth / 2 - (font?.measureText(text).width || 0) / 2,
|
|
126
|
+
y: areaHeight / 2 + (font?.measureText(text).height || 0) / 2,
|
|
127
|
+
text: text,
|
|
128
|
+
color: textFontColor,
|
|
129
|
+
font: font
|
|
130
|
+
})]
|
|
131
|
+
})
|
|
125
132
|
})
|
|
126
133
|
})
|
|
127
134
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSkia","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScratchCard","style","children","image","brushStrokeWidth","revealThreshold","width","height","backgroundColor","text","textFont","textFontColor","textFontSize","onScratched","img","useImage","font","useFont","areaWidth","areaHeight","setSize","useState","isScratched","setScratched","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSkia","_reactNative","_reactNativeReanimated","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScratchCard","style","children","image","brushStrokeWidth","revealThreshold","width","height","backgroundColor","text","textFont","textFontColor","textFontSize","onScratched","img","useImage","font","useFont","areaWidth","areaHeight","setSize","useState","isScratched","setScratched","path","useSharedValue","Skia","Path","Make","moveTo","checkScratchProgress","bounds","value","getBounds","scratchedArea","totalArea","useEffect","console","log","pan","Gesture","Pan","averageTouches","maxPointers","onBegin","x","y","lineTo","notifyChange","onChange","error","jsxs","View","onLayout","nativeEvent","layout","styles","container","jsx","content","GestureDetector","gesture","Canvas","canvas","Mask","mode","mask","Group","Rect","color","strokeJoin","strokeCap","strokeWidth","Image","fit","Text","measureText","StyleSheet","create","position","overflow","top","left","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ScratchCard/ScratchCard.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _expo = require("expo");
|
|
7
|
+
require("react-native-reanimated");
|
|
8
|
+
var _app = _interopRequireDefault(require("./app.js"));
|
|
6
9
|
var _index = require("./theme/index.js");
|
|
7
10
|
Object.keys(_index).forEach(function (key) {
|
|
8
11
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -25,4 +28,6 @@ Object.keys(_index2).forEach(function (key) {
|
|
|
25
28
|
}
|
|
26
29
|
});
|
|
27
30
|
});
|
|
31
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
(0, _expo.registerRootComponent)(_app.default);
|
|
28
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_expo","require","_app","_interopRequireDefault","_index","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_index2","e","__esModule","default","registerRootComponent","App"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACAA,OAAA;AAGA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AAIA,IAAAG,MAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAR,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAZ,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AAA6B,SAAAL,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH7B,IAAAG,2BAAqB,EAACC,YAAG,CAAC","ignoreList":[]}
|
package/lib/module/app.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useRef, useState } from "react";
|
|
4
|
-
import { StyleSheet } from "react-native";
|
|
4
|
+
import { StyleSheet, Text } from "react-native";
|
|
5
5
|
import { Ionicons } from "@expo/vector-icons";
|
|
6
6
|
import { RelatedProvider, useTheme } from "./theme/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { ScratchCard, ScratchCardContent } from "./components/index.js";
|
|
8
8
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
9
9
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
10
10
|
// import BRANDS from "./constants/BRANDS";
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
export default function App() {
|
|
13
13
|
const {
|
|
14
14
|
theme
|
|
@@ -230,15 +230,34 @@ export default function App() {
|
|
|
230
230
|
flex: 1,
|
|
231
231
|
backgroundColor: theme.background
|
|
232
232
|
},
|
|
233
|
-
children: /*#__PURE__*/_jsx(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
233
|
+
children: /*#__PURE__*/_jsx(ScratchCard, {
|
|
234
|
+
backgroundColor: "#8A2BE2",
|
|
235
|
+
text: "Scratch to reveal your prize!",
|
|
236
|
+
textFontColor: "#FFFFFF",
|
|
237
|
+
textFontSize: 18,
|
|
238
|
+
width: 300,
|
|
239
|
+
height: 150
|
|
240
|
+
// onScratched={() => alert("Congratulations! You won a prize!")}
|
|
241
|
+
,
|
|
242
|
+
children: /*#__PURE__*/_jsxs(ScratchCardContent, {
|
|
243
|
+
style: {
|
|
244
|
+
backgroundColor: "#FFD700"
|
|
245
|
+
},
|
|
246
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
247
|
+
style: {
|
|
248
|
+
fontSize: 24,
|
|
249
|
+
fontWeight: "bold",
|
|
250
|
+
color: "#000"
|
|
251
|
+
},
|
|
252
|
+
children: "50% OFF COUPON"
|
|
253
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
254
|
+
style: {
|
|
255
|
+
marginTop: 8,
|
|
256
|
+
color: "#333"
|
|
257
|
+
},
|
|
258
|
+
children: "Use code: SCRATCH50"
|
|
259
|
+
})]
|
|
260
|
+
})
|
|
242
261
|
})
|
|
243
262
|
})
|
|
244
263
|
})
|
package/lib/module/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","StyleSheet","Ionicons","RelatedProvider","useTheme","
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","StyleSheet","Text","Ionicons","RelatedProvider","useTheme","ScratchCard","ScratchCardContent","SafeAreaView","GestureHandlerRootView","jsx","_jsx","jsxs","_jsxs","App","theme","filtersVisible","setFiltersVisible","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","rewardsData","helper","activeIcon","primary","title","description","isActive","status","statusBackgroundColor","disabled","statusTextColor","secondary","children","style","padding","flex","backgroundColor","background","textFontColor","textFontSize","height","fontSize","fontWeight","marginTop","styles","create","container","testButton","paddingVertical","paddingHorizontal","borderRadius","marginBottom","buttonText","textAlign"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/C,SAEEC,UAAU,EACVC,IAAI,QAKC,cAAc;AACrB,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,eAAe,EAAEC,QAAQ,QAAQ,kBAAS;AACnD,SAKEC,WAAW,EACXC,kBAAkB,QAEb,uBAAc;AACrB,SAASC,YAAY,QAAQ,gCAAgC;AAa7D,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEA,eAAe,SAASC,GAAGA,CAAA,EAAG;EAC5B,MAAM;IAAEC;EAAM,CAAC,GAAGV,QAAQ,CAAC,CAAC;EAC5B,MAAM,CAACW,cAAc,EAAEC,iBAAiB,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAACkB,IAAI,EAAEC,OAAO,CAAC,GAAGnB,QAAQ,CAAqB,QAAQ,CAAC;;EAE9D;EACA,MAAMoB,WAAW,GAAG,CAClB;IAAEC,EAAE,EAAE,CAAC;IAAEC,IAAI,EAAE,oBAAoB;IAAEC,KAAK,EAAE;EAAY,CAAC,EACzD;IAAEF,EAAE,EAAE,CAAC;IAAEC,IAAI,EAAE,oBAAoB;IAAEC,KAAK,EAAE;EAAa,CAAC,EAC1D;IAAEF,EAAE,EAAE,CAAC;IAAEC,IAAI,EAAE,QAAQ;IAAEC,KAAK,EAAE;EAAS,CAAC,CAC3C;EAED,MAAMC,QAAQ,GAAG,EAAE;EACnB,MAAMC,SAAS,GAAGV,KAAK,CAACW,SAAS;EAEjC,MAAMC,gBAAgB,GAAG,CACvB;IACEC,IAAI,eACFjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,oBAAoB;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CACxE;IACDM,GAAG,EAAE,kCAAkC;IAAE;IACzCC,WAAW,EAAE,YAAY;IACzBC,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eACFjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,gBAAgB;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CACpE;IACDM,GAAG,EAAE,6BAA6B;IAAE;IACpCE,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CAAC;IACxEM,GAAG,EAAE,4BAA4B;IAAE;IACnCE,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,eAAe;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CAAC;IACzEM,GAAG,EAAE,0BAA0B;IAAE;IACjCE,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eACFjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,kBAAkB;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CACtE;IACDM,GAAG,EAAE,0BAA0B;IAAE;IACjCE,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eACFjB,IAAA,CAACR,QAAQ;MACPmB,IAAI,EAAC,yBAAyB;MAC9BO,IAAI,EAAEL,QAAS;MACfM,KAAK,EAAEL;IAAU,CAClB,CACF;IACDM,GAAG,EAAE,kCAAkC;IAAE;IACzCE,KAAK,EAAE;EACT,CAAC,EACD;IACEL,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAEL,QAAS;MAACM,KAAK,EAAEL;IAAU,CAAE,CAAC;IACxEM,GAAG,EAAE,kCAAkC;IAAE;IACzCE,KAAK,EAAE;EACT,CAAC,CACF;EAED,MAAMC,iBAAiB,GAAGP,gBAAgB,CAACQ,GAAG,CAAEC,IAAI,KAAM;IACxD,GAAGA,IAAI;IACPC,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EACH,MAAMC,gBAAgB,GAAGvC,MAAM,CAAwB,IAAI,CAAC;EAE5D,MAAMwC,WAAW,GAAG,CAClB;IACEX,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,eAAe;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACtEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,OAAO;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACrEC,KAAK,EAAE,eAAe;IACtBC,WAAW,EACT,+DAA+D;IACjEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,EACD;IACET,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,eAAe;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACtEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,OAAO;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACmC;IAAU,CAAE,CAAC;IACvEP,KAAK,EAAE,gBAAgB;IACvBC,WAAW,EAAE,4DAA4D;IACzEC,QAAQ,EAAE,IAAI;IACdC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAAC2B,OAAO;IACpCO,eAAe,EAAElC,KAAK,CAACmC;EACzB,CAAC,EACD;IACEtB,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACrEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,MAAM;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACpEC,KAAK,EAAE,aAAa;IACpBC,WAAW,EACT,iEAAiE;IACnEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,EACD;IACET,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACrEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,MAAM;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACpEC,KAAK,EAAE,aAAa;IACpBC,WAAW,EACT,iEAAiE;IACnEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,EACD;IACET,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACrEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,MAAM;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACpEC,KAAK,EAAE,aAAa;IACpBC,WAAW,EACT,iEAAiE;IACnEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,EACD;IACET,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACrEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,MAAM;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACpEC,KAAK,EAAE,aAAa;IACpBC,WAAW,EACT,iEAAiE;IACnEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,EACD;IACET,IAAI,eAAEjB,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,cAAc;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAACyB;IAAO,CAAE,CAAC;IACrEC,UAAU,eAAE9B,IAAA,CAACR,QAAQ;MAACmB,IAAI,EAAC,MAAM;MAACO,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEf,KAAK,CAAC2B;IAAQ,CAAE,CAAC;IACpEC,KAAK,EAAE,aAAa;IACpBC,WAAW,EACT,iEAAiE;IACnEC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,qBAAqB,EAAEhC,KAAK,CAACiC,QAAQ;IACrCC,eAAe,EAAElC,KAAK,CAACsB;EACzB,CAAC,CACF;EAED,oBACE1B,IAAA,CAACF,sBAAsB;IAAA0C,QAAA,eACrBxC,IAAA,CAACP,eAAe;MAAA+C,QAAA,eACdxC,IAAA,CAACH,YAAY;QACX4C,KAAK,EAAE;UAAEC,OAAO,EAAE,EAAE;UAAEC,IAAI,EAAE,CAAC;UAAEC,eAAe,EAAExC,KAAK,CAACyC;QAAW,CAAE;QAAAL,QAAA,eAEnExC,IAAA,CAACL,WAAW;UACpBiD,eAAe,EAAC,SAAS;UACzBlB,IAAI,EAAC,+BAA+B;UACpCoB,aAAa,EAAC,SAAS;UACvBC,YAAY,EAAE,EAAG;UACjBzB,KAAK,EAAE,GAAI;UACX0B,MAAM,EAAE;UACR;UAAA;UAAAR,QAAA,eAEAtC,KAAA,CAACN,kBAAkB;YAAC6C,KAAK,EAAE;cAAEG,eAAe,EAAE;YAAU,CAAE;YAAAJ,QAAA,gBACxDxC,IAAA,CAACT,IAAI;cAACkD,KAAK,EAAE;gBAAEQ,QAAQ,EAAE,EAAE;gBAAEC,UAAU,EAAE,MAAM;gBAAE/B,KAAK,EAAE;cAAO,CAAE;cAAAqB,QAAA,EAAC;YAElE,CAAM,CAAC,eACPxC,IAAA,CAACT,IAAI;cAACkD,KAAK,EAAE;gBAAEU,SAAS,EAAE,CAAC;gBAAEhC,KAAK,EAAE;cAAO,CAAE;cAAAqB,QAAA,EAAC;YAE9C,CAAM,CAAC;UAAA,CACW;QAAC,CACV;MAAC,CAYQ;IAAC,CACA;EAAC,CACI,CAAC;AAE7B;AAEA,MAAMY,MAAM,GAAG9D,UAAU,CAAC+D,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTX,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE,OAAO;IACxBF,OAAO,EAAE;EACX,CAAC;EACDa,UAAU,EAAE;IACVX,eAAe,EAAE,SAAS;IAC1BY,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,YAAY,EAAE,CAAC;IACfC,YAAY,EAAE;EAChB,CAAC;EACDC,UAAU,EAAE;IACVzC,KAAK,EAAE,SAAS;IAChB8B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBW,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, {
|
|
4
|
-
import { Canvas, Group, Image, Mask, Path, Rect, Skia, useImage, Text, useFont } from "@shopify/react-native-skia";
|
|
3
|
+
import React, { useEffect, useState } from "react";
|
|
4
|
+
import { Canvas, Group, Image, Mask, Path, Rect, Skia, useImage, Text, useFont, notifyChange } from "@shopify/react-native-skia";
|
|
5
5
|
import { View, StyleSheet } from "react-native";
|
|
6
|
+
import { useSharedValue } from "react-native-reanimated";
|
|
7
|
+
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
6
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
9
|
const ScratchCard = ({
|
|
8
10
|
style,
|
|
@@ -23,13 +25,11 @@ const ScratchCard = ({
|
|
|
23
25
|
const font = useFont(textFont, textFontSize);
|
|
24
26
|
const [[areaWidth, areaHeight], setSize] = useState([0, 0]);
|
|
25
27
|
const [isScratched, setScratched] = useState(false);
|
|
26
|
-
const
|
|
27
|
-
const path = useRef(Skia.Path.Make());
|
|
28
|
-
const lastKnownY = useRef(null);
|
|
28
|
+
const path = useSharedValue(Skia.Path.Make().moveTo(0, 0));
|
|
29
29
|
|
|
30
30
|
//Check scratch progress
|
|
31
31
|
const checkScratchProgress = () => {
|
|
32
|
-
const bounds = path.
|
|
32
|
+
const bounds = path.value.getBounds();
|
|
33
33
|
const scratchedArea = bounds.height * bounds.width;
|
|
34
34
|
const totalArea = areaWidth * areaHeight;
|
|
35
35
|
if (scratchedArea / totalArea > revealThreshold && !isScratched) {
|
|
@@ -39,21 +39,35 @@ const ScratchCard = ({
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
console.log("HI");
|
|
44
|
+
}, [path]);
|
|
45
|
+
const pan = Gesture.Pan().averageTouches(true).maxPointers(1).onBegin(e => {
|
|
46
|
+
path.value.moveTo(e.x, e.y);
|
|
47
|
+
path.value.lineTo(e.x, e.y);
|
|
48
|
+
notifyChange(path);
|
|
49
|
+
}).onChange(e => {
|
|
50
|
+
try {
|
|
51
|
+
// checkScratchProgress();
|
|
52
|
+
path.value.lineTo(e.x, e.y);
|
|
53
|
+
notifyChange(path);
|
|
54
|
+
// const bounds = path.value.getBounds();
|
|
55
|
+
// const scratchedArea = bounds.height * bounds.width;
|
|
56
|
+
// const totalArea = areaWidth * areaHeight;
|
|
42
57
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
58
|
+
// if (scratchedArea / totalArea > revealThreshold && !isScratched) {
|
|
59
|
+
// console.log("SCRATCHED")
|
|
60
|
+
// // setScratched(true);
|
|
61
|
+
// // if (onScratched) {
|
|
62
|
+
// // onScratched();
|
|
63
|
+
// // }
|
|
64
|
+
// }
|
|
65
|
+
} catch (error) {
|
|
66
|
+
console.log(error);
|
|
51
67
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
checkScratchProgress();
|
|
56
|
-
};
|
|
68
|
+
|
|
69
|
+
// checkScratchProgress();
|
|
70
|
+
});
|
|
57
71
|
return /*#__PURE__*/_jsxs(View, {
|
|
58
72
|
onLayout: e => {
|
|
59
73
|
setSize([e.nativeEvent.layout.width, e.nativeEvent.layout.height]);
|
|
@@ -65,57 +79,50 @@ const ScratchCard = ({
|
|
|
65
79
|
children: [/*#__PURE__*/_jsx(View, {
|
|
66
80
|
style: styles.content,
|
|
67
81
|
children: children
|
|
68
|
-
}), !isScratched && /*#__PURE__*/_jsx(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
strokeJoin: "round",
|
|
94
|
-
strokeCap: "round",
|
|
95
|
-
strokeWidth: brushStrokeWidth
|
|
96
|
-
})]
|
|
97
|
-
}),
|
|
98
|
-
children: img ? /*#__PURE__*/_jsx(Image, {
|
|
99
|
-
image: img,
|
|
100
|
-
fit: "cover",
|
|
101
|
-
x: 0,
|
|
102
|
-
y: 0,
|
|
103
|
-
width: areaWidth,
|
|
104
|
-
height: areaHeight
|
|
105
|
-
}) : /*#__PURE__*/_jsxs(Group, {
|
|
106
|
-
children: [/*#__PURE__*/_jsx(Rect, {
|
|
82
|
+
}), !isScratched && /*#__PURE__*/_jsx(GestureDetector, {
|
|
83
|
+
gesture: pan,
|
|
84
|
+
children: /*#__PURE__*/_jsx(Canvas, {
|
|
85
|
+
style: styles.canvas,
|
|
86
|
+
children: /*#__PURE__*/_jsx(Mask, {
|
|
87
|
+
mode: "luminance",
|
|
88
|
+
mask: /*#__PURE__*/_jsxs(Group, {
|
|
89
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
90
|
+
x: 0,
|
|
91
|
+
y: 0,
|
|
92
|
+
width: 1000,
|
|
93
|
+
height: 1000,
|
|
94
|
+
color: "white"
|
|
95
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
96
|
+
path: path,
|
|
97
|
+
color: "black",
|
|
98
|
+
style: "stroke",
|
|
99
|
+
strokeJoin: "round",
|
|
100
|
+
strokeCap: "round",
|
|
101
|
+
strokeWidth: brushStrokeWidth
|
|
102
|
+
})]
|
|
103
|
+
}),
|
|
104
|
+
children: img ? /*#__PURE__*/_jsx(Image, {
|
|
105
|
+
image: img,
|
|
106
|
+
fit: "cover",
|
|
107
107
|
x: 0,
|
|
108
108
|
y: 0,
|
|
109
109
|
width: areaWidth,
|
|
110
|
-
height: areaHeight
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
height: areaHeight
|
|
111
|
+
}) : /*#__PURE__*/_jsxs(Group, {
|
|
112
|
+
children: [/*#__PURE__*/_jsx(Rect, {
|
|
113
|
+
x: 0,
|
|
114
|
+
y: 0,
|
|
115
|
+
width: areaWidth,
|
|
116
|
+
height: areaHeight,
|
|
117
|
+
color: backgroundColor
|
|
118
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
119
|
+
x: areaWidth / 2 - (font?.measureText(text).width || 0) / 2,
|
|
120
|
+
y: areaHeight / 2 + (font?.measureText(text).height || 0) / 2,
|
|
121
|
+
text: text,
|
|
122
|
+
color: textFontColor,
|
|
123
|
+
font: font
|
|
124
|
+
})]
|
|
125
|
+
})
|
|
119
126
|
})
|
|
120
127
|
})
|
|
121
128
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","Canvas","Group","Image","Mask","Path","Rect","Skia","useImage","Text","useFont","notifyChange","View","StyleSheet","useSharedValue","Gesture","GestureDetector","jsx","_jsx","jsxs","_jsxs","ScratchCard","style","children","image","brushStrokeWidth","revealThreshold","width","height","backgroundColor","text","textFont","textFontColor","textFontSize","onScratched","img","font","areaWidth","areaHeight","setSize","isScratched","setScratched","path","Make","moveTo","checkScratchProgress","bounds","value","getBounds","scratchedArea","totalArea","console","log","pan","Pan","averageTouches","maxPointers","onBegin","e","x","y","lineTo","onChange","error","onLayout","nativeEvent","layout","styles","container","content","gesture","canvas","mode","mask","color","strokeJoin","strokeCap","strokeWidth","fit","measureText","create","position","overflow","top","left"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ScratchCard/ScratchCard.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// registerRootComponent(App);
|
|
9
|
-
|
|
3
|
+
import { registerRootComponent } from 'expo';
|
|
4
|
+
import "react-native-reanimated";
|
|
5
|
+
import App from "./app.js";
|
|
6
|
+
registerRootComponent(App);
|
|
10
7
|
export * from "./theme/index.js";
|
|
11
8
|
export * from "./components/index.js";
|
|
12
9
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA;
|
|
1
|
+
{"version":3,"names":["registerRootComponent","App"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,MAAM;AAC5C,OAAO,yBAAyB;AAGhC,OAAOC,GAAG,MAAM,UAAO;AAEvBD,qBAAqB,CAACC,GAAG,CAAC;AAE1B,cAAc,kBAAS;AACvB,cAAc,uBAAc","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,sBA8L1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScratchCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScratchCard/ScratchCard.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ScratchCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScratchCard/ScratchCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,OAAO,EACL,SAAS,EAET,SAAS,EAET,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAItB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqI3C,CAAC;AAyBF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAC;AAOjC,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,sBA8L1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScratchCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScratchCard/ScratchCard.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ScratchCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScratchCard/ScratchCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,OAAO,EACL,SAAS,EAET,SAAS,EAET,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAItB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqI3C,CAAC;AAyBF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAC;AAOjC,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
package/src/app.tsx
CHANGED
|
@@ -192,6 +192,24 @@ export default function App() {
|
|
|
192
192
|
<SafeAreaView
|
|
193
193
|
style={{ padding: 10, flex: 1, backgroundColor: theme.background }}
|
|
194
194
|
>
|
|
195
|
+
<ScratchCard
|
|
196
|
+
backgroundColor="#8A2BE2"
|
|
197
|
+
text="Scratch to reveal your prize!"
|
|
198
|
+
textFontColor="#FFFFFF"
|
|
199
|
+
textFontSize={18}
|
|
200
|
+
width={300}
|
|
201
|
+
height={150}
|
|
202
|
+
// onScratched={() => alert("Congratulations! You won a prize!")}
|
|
203
|
+
>
|
|
204
|
+
<ScratchCardContent style={{ backgroundColor: "#FFD700" }}>
|
|
205
|
+
<Text style={{ fontSize: 24, fontWeight: "bold", color: "#000" }}>
|
|
206
|
+
50% OFF COUPON
|
|
207
|
+
</Text>
|
|
208
|
+
<Text style={{ marginTop: 8, color: "#333" }}>
|
|
209
|
+
Use code: SCRATCH50
|
|
210
|
+
</Text>
|
|
211
|
+
</ScratchCardContent>
|
|
212
|
+
</ScratchCard>
|
|
195
213
|
{/* <UnlockRewards
|
|
196
214
|
title="Your Rewards"
|
|
197
215
|
description="Complete tasks to unlock special benefits"
|
|
@@ -202,7 +220,7 @@ export default function App() {
|
|
|
202
220
|
topBackgroundHeight={200}
|
|
203
221
|
customCloseIcon={<Ionicons name="close-circle" size={28} color={theme.primary} />}
|
|
204
222
|
/> */}
|
|
205
|
-
<Popup title="TEST" content="TEST" visible onClose={()=>{}} backgroundImage={require("@/assets/images/namshi-banner.png")} containerStyle={{height: 300}}></Popup>
|
|
223
|
+
{/* <Popup title="TEST" content="TEST" visible onClose={()=>{}} backgroundImage={require("@/assets/images/namshi-banner.png")} containerStyle={{height: 300}}></Popup> */}
|
|
206
224
|
</SafeAreaView>
|
|
207
225
|
</RelatedProvider>
|
|
208
226
|
</GestureHandlerRootView>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useState } from "react";
|
|
1
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
2
2
|
import {
|
|
3
3
|
Canvas,
|
|
4
4
|
Group,
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
useImage,
|
|
13
13
|
Text,
|
|
14
14
|
useFont,
|
|
15
|
+
notifyChange,
|
|
15
16
|
} from "@shopify/react-native-skia";
|
|
16
17
|
import {
|
|
17
18
|
StyleProp,
|
|
@@ -21,6 +22,8 @@ import {
|
|
|
21
22
|
ImageRequireSource,
|
|
22
23
|
NativeTouchEvent,
|
|
23
24
|
} from "react-native";
|
|
25
|
+
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
26
|
+
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
24
27
|
|
|
25
28
|
type ScratchCardProps = {
|
|
26
29
|
style?: StyleProp<ViewStyle>;
|
|
@@ -58,14 +61,12 @@ const ScratchCard: React.FC<ScratchCardProps> = ({
|
|
|
58
61
|
|
|
59
62
|
const [[areaWidth, areaHeight], setSize] = useState([0, 0]);
|
|
60
63
|
const [isScratched, setScratched] = useState(false);
|
|
61
|
-
const [_, setRefresh] = useState(0);
|
|
62
64
|
|
|
63
|
-
const path =
|
|
64
|
-
const lastKnownY = useRef<number | null>(null);
|
|
65
|
+
const path = useSharedValue(Skia.Path.Make().moveTo(0,0));
|
|
65
66
|
|
|
66
67
|
//Check scratch progress
|
|
67
68
|
const checkScratchProgress = () => {
|
|
68
|
-
const bounds = path.
|
|
69
|
+
const bounds = path.value.getBounds();
|
|
69
70
|
const scratchedArea = bounds.height * bounds.width;
|
|
70
71
|
const totalArea = areaWidth * areaHeight;
|
|
71
72
|
|
|
@@ -77,23 +78,38 @@ const ScratchCard: React.FC<ScratchCardProps> = ({
|
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
const handleMove = (nativeEvent: NativeTouchEvent) => {
|
|
82
|
-
let { locationX, locationY } = nativeEvent;
|
|
81
|
+
useEffect(() => {console.log("HI")}, [path])
|
|
83
82
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
const pan = Gesture.Pan()
|
|
84
|
+
.averageTouches(true)
|
|
85
|
+
.maxPointers(1)
|
|
86
|
+
.onBegin(e => {
|
|
87
|
+
path.value.moveTo(e.x, e.y);
|
|
88
|
+
path.value.lineTo(e.x, e.y);
|
|
89
|
+
notifyChange(path as any);
|
|
90
|
+
})
|
|
91
|
+
.onChange(e => {
|
|
92
|
+
try {
|
|
93
|
+
// checkScratchProgress();
|
|
94
|
+
path.value.lineTo(e.x, e.y);
|
|
95
|
+
notifyChange(path as any);
|
|
96
|
+
// const bounds = path.value.getBounds();
|
|
97
|
+
// const scratchedArea = bounds.height * bounds.width;
|
|
98
|
+
// const totalArea = areaWidth * areaHeight;
|
|
99
|
+
|
|
100
|
+
// if (scratchedArea / totalArea > revealThreshold && !isScratched) {
|
|
101
|
+
// console.log("SCRATCHED")
|
|
102
|
+
// // setScratched(true);
|
|
103
|
+
// // if (onScratched) {
|
|
104
|
+
// // onScratched();
|
|
105
|
+
// // }
|
|
106
|
+
// }
|
|
107
|
+
} catch (error) {
|
|
108
|
+
console.log(error)
|
|
89
109
|
}
|
|
90
110
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
setRefresh((prev) => prev + 1);
|
|
95
|
-
checkScratchProgress();
|
|
96
|
-
};
|
|
111
|
+
// checkScratchProgress();
|
|
112
|
+
})
|
|
97
113
|
|
|
98
114
|
return (
|
|
99
115
|
<View
|
|
@@ -105,14 +121,9 @@ const ScratchCard: React.FC<ScratchCardProps> = ({
|
|
|
105
121
|
<View style={styles.content}>{children}</View>
|
|
106
122
|
|
|
107
123
|
{!isScratched && (
|
|
124
|
+
<GestureDetector gesture={pan}>
|
|
108
125
|
<Canvas
|
|
109
126
|
style={styles.canvas}
|
|
110
|
-
onTouchStart={({ nativeEvent }) => {
|
|
111
|
-
path.current.moveTo(nativeEvent.locationX, nativeEvent.locationY);
|
|
112
|
-
setRefresh((prev) => prev + 1);
|
|
113
|
-
}}
|
|
114
|
-
onTouchMove={({ nativeEvent }) => handleMove(nativeEvent)}
|
|
115
|
-
onTouchEnd={() => (lastKnownY.current = null)}
|
|
116
127
|
>
|
|
117
128
|
<Mask
|
|
118
129
|
mode="luminance"
|
|
@@ -120,7 +131,7 @@ const ScratchCard: React.FC<ScratchCardProps> = ({
|
|
|
120
131
|
<Group>
|
|
121
132
|
<Rect x={0} y={0} width={1000} height={1000} color="white" />
|
|
122
133
|
<Path
|
|
123
|
-
path={path
|
|
134
|
+
path={path}
|
|
124
135
|
color="black"
|
|
125
136
|
style="stroke"
|
|
126
137
|
strokeJoin="round"
|
|
@@ -159,6 +170,7 @@ const ScratchCard: React.FC<ScratchCardProps> = ({
|
|
|
159
170
|
)}
|
|
160
171
|
</Mask>
|
|
161
172
|
</Canvas>
|
|
173
|
+
</GestureDetector>
|
|
162
174
|
)}
|
|
163
175
|
</View>
|
|
164
176
|
);
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { registerRootComponent } from 'expo';
|
|
2
|
+
import "react-native-reanimated";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import App from "./app";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
registerRootComponent(App);
|
|
8
8
|
|
|
9
9
|
export * from "./theme"
|
|
10
10
|
export * from "./components";
|