@zezosoft/zezo-ott-react-native-ui-kit 1.1.2 → 1.1.3

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 (136) hide show
  1. package/lib/module/components/Auth/QrLogin/QrLogin.js +304 -138
  2. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  3. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +193 -141
  4. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -1
  5. package/lib/module/components/Content/Card/Category/Category.js +83 -11
  6. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  7. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +237 -108
  8. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  9. package/lib/module/components/Content/Card/Sliders/Styles/One.js +185 -126
  10. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  11. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +139 -92
  12. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  13. package/lib/module/components/Content/Card/Styles/Five.js +131 -48
  14. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  15. package/lib/module/components/Content/Card/Styles/Four.js +126 -59
  16. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  17. package/lib/module/components/Content/Card/Styles/One.js +125 -50
  18. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  19. package/lib/module/components/Content/Card/Styles/RotateInOut.js +138 -53
  20. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  21. package/lib/module/components/Content/Card/Styles/Six.js +207 -115
  22. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  23. package/lib/module/components/Content/Card/Styles/Three.js +134 -79
  24. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  25. package/lib/module/components/Content/Card/Styles/TopTen.js +186 -171
  26. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  27. package/lib/module/components/Content/Card/Styles/Two.js +144 -64
  28. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  29. package/lib/module/components/Content/Card/components/AdsPoster.js +162 -0
  30. package/lib/module/components/Content/Card/components/AdsPoster.js.map +1 -0
  31. package/lib/module/components/Content/Card/components/CardPoster.js +120 -136
  32. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  33. package/lib/module/components/Content/Card/components/index.js +4 -0
  34. package/lib/module/components/Content/Card/components/index.js.map +1 -0
  35. package/lib/module/components/Content/Content.js +67 -27
  36. package/lib/module/components/Content/Content.js.map +1 -1
  37. package/lib/module/components/Content/Sections.js +32 -11
  38. package/lib/module/components/Content/Sections.js.map +1 -1
  39. package/lib/module/constants/dummySections.js +44 -4
  40. package/lib/module/constants/dummySections.js.map +1 -1
  41. package/lib/module/hooks/Images/index.js +5 -0
  42. package/lib/module/hooks/Images/index.js.map +1 -0
  43. package/lib/module/hooks/Images/useImageLoader.js +168 -0
  44. package/lib/module/hooks/Images/useImageLoader.js.map +1 -0
  45. package/lib/module/hooks/Images/useImageValidation.js +36 -0
  46. package/lib/module/hooks/Images/useImageValidation.js.map +1 -0
  47. package/lib/module/hooks/index.js +3 -0
  48. package/lib/module/hooks/index.js.map +1 -1
  49. package/lib/module/hooks/useAdTracking.js +270 -0
  50. package/lib/module/hooks/useAdTracking.js.map +1 -0
  51. package/lib/module/hooks/useCards.js +164 -0
  52. package/lib/module/hooks/useCards.js.map +1 -0
  53. package/lib/module/hooks/usePaginatedSection.js +11 -6
  54. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  55. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +2 -0
  56. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  57. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  58. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  59. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  60. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  61. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  62. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +13 -1
  63. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  64. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts +13 -1
  65. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  66. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts +15 -3
  67. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  68. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts +13 -1
  69. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  70. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts +1 -0
  71. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  72. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts +13 -5
  73. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  74. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts +1 -0
  75. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  76. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts +13 -1
  77. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  78. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts +26 -0
  79. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts.map +1 -0
  80. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +3 -1
  81. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  82. package/lib/typescript/src/components/Content/Card/components/index.d.ts +2 -0
  83. package/lib/typescript/src/components/Content/Card/components/index.d.ts.map +1 -0
  84. package/lib/typescript/src/components/Content/Card/index.d.ts +76 -6
  85. package/lib/typescript/src/components/Content/Card/index.d.ts.map +1 -1
  86. package/lib/typescript/src/components/Content/Content.d.ts +4 -3
  87. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  88. package/lib/typescript/src/components/Content/Sections.d.ts +20 -6
  89. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  90. package/lib/typescript/src/constants/dummySections.d.ts +5 -0
  91. package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
  92. package/lib/typescript/src/hooks/Images/index.d.ts +3 -0
  93. package/lib/typescript/src/hooks/Images/index.d.ts.map +1 -0
  94. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts +36 -0
  95. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts.map +1 -0
  96. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts +17 -0
  97. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts.map +1 -0
  98. package/lib/typescript/src/hooks/index.d.ts +3 -0
  99. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  100. package/lib/typescript/src/hooks/useAdTracking.d.ts +39 -0
  101. package/lib/typescript/src/hooks/useAdTracking.d.ts.map +1 -0
  102. package/lib/typescript/src/hooks/useCards.d.ts +36 -0
  103. package/lib/typescript/src/hooks/useCards.d.ts.map +1 -0
  104. package/lib/typescript/src/hooks/usePaginatedSection.d.ts +12 -2
  105. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  106. package/lib/typescript/src/types/sections/index.d.ts +7 -4
  107. package/lib/typescript/src/types/sections/index.d.ts.map +1 -1
  108. package/package.json +6 -3
  109. package/src/components/Auth/QrLogin/QrLogin.tsx +382 -122
  110. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +291 -197
  111. package/src/components/Content/Card/Category/Category.tsx +95 -8
  112. package/src/components/Content/Card/NowWatching/NowWatching.tsx +281 -136
  113. package/src/components/Content/Card/Sliders/Styles/One.tsx +244 -148
  114. package/src/components/Content/Card/Sliders/Styles/Two.tsx +171 -102
  115. package/src/components/Content/Card/Styles/Five.tsx +161 -62
  116. package/src/components/Content/Card/Styles/Four.tsx +164 -85
  117. package/src/components/Content/Card/Styles/One.tsx +161 -71
  118. package/src/components/Content/Card/Styles/RotateInOut.tsx +157 -60
  119. package/src/components/Content/Card/Styles/Six.tsx +242 -142
  120. package/src/components/Content/Card/Styles/Three.tsx +166 -133
  121. package/src/components/Content/Card/Styles/TopTen.tsx +230 -191
  122. package/src/components/Content/Card/Styles/Two.tsx +182 -79
  123. package/src/components/Content/Card/components/AdsPoster.tsx +202 -0
  124. package/src/components/Content/Card/components/CardPoster.tsx +134 -154
  125. package/src/components/Content/Card/components/index.ts +1 -0
  126. package/src/components/Content/Content.tsx +83 -45
  127. package/src/components/Content/Sections.tsx +51 -10
  128. package/src/constants/dummySections.ts +48 -1
  129. package/src/hooks/Images/index.ts +2 -0
  130. package/src/hooks/Images/useImageLoader.ts +206 -0
  131. package/src/hooks/Images/useImageValidation.ts +36 -0
  132. package/src/hooks/index.ts +3 -0
  133. package/src/hooks/useAdTracking.ts +349 -0
  134. package/src/hooks/useCards.ts +228 -0
  135. package/src/hooks/usePaginatedSection.ts +26 -7
  136. package/src/types/sections/index.ts +7 -4
@@ -14,15 +14,160 @@ const {
14
14
  height: SCREEN_H
15
15
  } = Dimensions.get('window');
16
16
 
17
- // Constants
17
+ // ==================== Constants ====================
18
18
  const ANIMATION_DURATION = 2000;
19
19
  const CORNER_SIZE = 18;
20
20
  const CORNER_BORDER_WIDTH = 3;
21
21
  const SCAN_LINE_HEIGHT = 3;
22
22
  const SCAN_LINE_MARGIN = 12;
23
+ const BOX_WIDTH_RATIO = 0.7;
24
+ const BOX_SIZE_RATIO = 0.9;
25
+ const MAX_BOX_WIDTH = 320;
26
+ const VERTICAL_OFFSET = 40;
27
+ const DEFAULT_OVERLAY_COLOR = 'rgba(0, 0, 0, 0.6)';
28
+ const DEFAULT_SHADOW_COLOR = '#000';
29
+
30
+ // ==================== Types ====================
31
+
32
+ // ==================== Helper Functions ====================
33
+ /**
34
+ * Calculates the scan box dimensions and overlay positions
35
+ */
36
+ const calculateBoxDimensions = (scanBoxWidth, headerHeight) => {
37
+ const defaultBoxW = scanBoxWidth || Math.min(SCREEN_W * BOX_WIDTH_RATIO, MAX_BOX_WIDTH);
38
+ const boxW = defaultBoxW * BOX_SIZE_RATIO;
39
+ const boxH = boxW;
40
+ const availableHeight = SCREEN_H - headerHeight;
41
+ const boxTop = Math.max(headerHeight, Math.floor(headerHeight + (availableHeight - boxH) / 2 - scale(VERTICAL_OFFSET)));
42
+ const topOverlayHeight = Math.max(0, Math.floor(boxTop - headerHeight));
43
+ const bottomOverlayHeight = Math.max(0, Math.floor(SCREEN_H - (boxTop + boxH)));
44
+ const leftOverlayWidth = Math.floor((SCREEN_W - boxW) / 2);
45
+ const scanBoxRight = leftOverlayWidth + boxW;
46
+ const rightOverlayWidth = Math.max(0, SCREEN_W - scanBoxRight);
47
+ return {
48
+ boxW,
49
+ boxH,
50
+ boxTop,
51
+ topOverlayHeight,
52
+ bottomOverlayHeight,
53
+ sideOverlayWidth: leftOverlayWidth,
54
+ rightOverlayWidth
55
+ };
56
+ };
57
+
58
+ /**
59
+ * Creates overlay style for a specific position
60
+ */
61
+ const createOverlayStyle = (position, dimensions, headerHeight, overlayColor) => {
62
+ const baseStyleKey = `overlay${position.charAt(0).toUpperCase() + position.slice(1)}`;
63
+ const baseStyle = styles[baseStyleKey] || styles.overlaySide;
64
+ switch (position) {
65
+ case 'top':
66
+ return [baseStyle, {
67
+ top: headerHeight,
68
+ height: Math.max(0, dimensions.topOverlayHeight),
69
+ backgroundColor: overlayColor
70
+ }];
71
+ case 'bottom':
72
+ return [baseStyle, {
73
+ top: dimensions.boxTop + dimensions.boxH,
74
+ height: Math.max(0, dimensions.bottomOverlayHeight),
75
+ backgroundColor: overlayColor
76
+ }];
77
+ case 'left':
78
+ return [baseStyle, {
79
+ left: 0,
80
+ top: dimensions.boxTop,
81
+ height: dimensions.boxH,
82
+ width: Math.max(0, dimensions.sideOverlayWidth),
83
+ backgroundColor: overlayColor
84
+ }];
85
+ case 'right':
86
+ return [baseStyle, {
87
+ right: 0,
88
+ top: dimensions.boxTop,
89
+ height: dimensions.boxH,
90
+ width: Math.max(0, dimensions.rightOverlayWidth),
91
+ backgroundColor: overlayColor
92
+ }];
93
+ default:
94
+ return [baseStyle];
95
+ }
96
+ };
97
+
98
+ /**
99
+ * Creates corner style based on position
100
+ */
101
+ const createCornerStyle = (position, borderColor, cornerSize, cornerBorderWidth) => {
102
+ const baseStyle = [styles.corner, styles[`corner_${position}`]];
103
+ const dynamicStyle = {
104
+ borderColor,
105
+ width: cornerSize,
106
+ height: cornerSize,
107
+ borderTopWidth: position.startsWith('t') ? cornerBorderWidth : 0,
108
+ borderBottomWidth: position.startsWith('b') ? cornerBorderWidth : 0,
109
+ borderLeftWidth: position.endsWith('l') ? cornerBorderWidth : 0,
110
+ borderRightWidth: position.endsWith('r') ? cornerBorderWidth : 0
111
+ };
112
+ return [...baseStyle, dynamicStyle];
113
+ };
114
+
115
+ /**
116
+ * Creates animated scan line style
117
+ */
118
+ const createScanLineStyle = (margin, scanLineHeight, borderColor, shadowColor, translateY) => ({
119
+ position: 'absolute',
120
+ top: margin,
121
+ left: margin,
122
+ right: margin,
123
+ height: scanLineHeight,
124
+ borderRadius: scanLineHeight / 2,
125
+ backgroundColor: borderColor,
126
+ transform: [{
127
+ translateY
128
+ }],
129
+ shadowColor,
130
+ shadowOffset: {
131
+ width: 0,
132
+ height: 2
133
+ },
134
+ shadowOpacity: 0.4,
135
+ shadowRadius: 4,
136
+ elevation: Platform.OS === 'android' ? 5 : 0
137
+ });
138
+
139
+ // ==================== Custom Hooks ====================
140
+ /**
141
+ * Hook to manage scan line animation
142
+ */
143
+ const useScanLineAnimation = lineTravel => {
144
+ const anim = useRef(new Animated.Value(0)).current;
145
+ useEffect(() => {
146
+ const animation = Animated.loop(Animated.sequence([Animated.timing(anim, {
147
+ toValue: 1,
148
+ duration: ANIMATION_DURATION,
149
+ easing: Easing.linear,
150
+ useNativeDriver: true
151
+ }), Animated.timing(anim, {
152
+ toValue: 0,
153
+ duration: ANIMATION_DURATION,
154
+ easing: Easing.linear,
155
+ useNativeDriver: true
156
+ })]));
157
+ animation.start();
158
+ return () => animation.stop();
159
+ }, [anim]);
160
+ const translateY = useMemo(() => anim.interpolate({
161
+ inputRange: [0, 1],
162
+ outputRange: [0, lineTravel]
163
+ }), [anim, lineTravel]);
164
+ return translateY;
165
+ };
166
+
167
+ // ==================== Component ====================
23
168
  const QrViewArea = /*#__PURE__*/React.memo(({
24
169
  scanBoxWidth,
25
- headerHeight = 60,
170
+ headerHeight = 0,
26
171
  theme
27
172
  }) => {
28
173
  const {
@@ -31,161 +176,68 @@ const QrViewArea = /*#__PURE__*/React.memo(({
31
176
  const {
32
177
  colors
33
178
  } = appliedTheme;
34
- const anim = useRef(new Animated.Value(0)).current;
35
179
 
36
- // Memoize box dimensions with better calculations (fix gap on right side)
37
- const boxDimensions = useMemo(() => {
38
- const defaultBoxW = scanBoxWidth || Math.min(SCREEN_W * 0.7, 320);
39
- const boxW = defaultBoxW * 0.9;
40
- const boxH = boxW;
41
- const availableHeight = SCREEN_H - headerHeight;
42
- const boxTop = Math.max(headerHeight, Math.floor(headerHeight + (availableHeight - boxH) / 2 - scale(40)));
43
- const topOverlayHeight = Math.max(0, Math.floor(boxTop - headerHeight));
44
- const bottomOverlayHeight = Math.max(0, Math.floor(SCREEN_H - (boxTop + boxH)));
45
- // Calculate left overlay width
46
- const leftOverlayWidth = Math.floor((SCREEN_W - boxW) / 2);
47
- // Calculate right overlay width to fill remaining space (fix gap)
48
- const scanBoxLeft = leftOverlayWidth;
49
- const scanBoxRight = scanBoxLeft + boxW;
50
- const rightOverlayWidth = Math.max(0, SCREEN_W - scanBoxRight);
51
- return {
52
- boxW,
53
- boxH,
54
- boxTop,
55
- topOverlayHeight,
56
- bottomOverlayHeight,
57
- sideOverlayWidth: leftOverlayWidth,
58
- rightOverlayWidth
59
- };
60
- }, [scanBoxWidth, headerHeight]);
180
+ // Calculate dimensions
181
+ const boxDimensions = useMemo(() => calculateBoxDimensions(scanBoxWidth, headerHeight), [scanBoxWidth, headerHeight]);
182
+
183
+ // Calculate scan line properties
61
184
  const margin = useMemo(() => scale(SCAN_LINE_MARGIN), []);
62
185
  const lineTravel = useMemo(() => Math.max(0, boxDimensions.boxH - margin * 2 - scale(SCAN_LINE_HEIGHT)), [boxDimensions.boxH, margin]);
63
- const translateY = useMemo(() => anim.interpolate({
64
- inputRange: [0, 1],
65
- outputRange: [0, lineTravel]
66
- }), [anim, lineTravel]);
67
186
 
68
- // Memoize animation config
69
- const animationConfig = useMemo(() => ({
70
- duration: ANIMATION_DURATION,
71
- easing: Easing.linear,
72
- useNativeDriver: true
73
- }), []);
74
- useEffect(() => {
75
- const animation = Animated.loop(Animated.sequence([Animated.timing(anim, {
76
- toValue: 1,
77
- ...animationConfig
78
- }), Animated.timing(anim, {
79
- toValue: 0,
80
- ...animationConfig
81
- })]));
82
- animation.start();
83
- return () => animation.stop();
84
- }, [anim, animationConfig]);
85
-
86
- // Memoize corner positions
87
- const cornerPositions = useMemo(() => ['tl', 'tr', 'bl', 'br'], []);
88
-
89
- // Memoize overlay color
90
- const overlayColor = useMemo(() => colors.overlay || 'rgba(0, 0, 0, 0.6)', [colors.overlay]);
91
-
92
- // Memoize all overlay components in one array (optimized - created once)
93
- const overlayComponents = useMemo(() => [{
94
- key: 'top',
95
- style: [styles.overlayTop, {
96
- top: headerHeight,
97
- height: Math.max(0, boxDimensions.topOverlayHeight),
98
- backgroundColor: overlayColor
99
- }]
100
- }, {
101
- key: 'bottom',
102
- style: [styles.overlayBottom, {
103
- top: boxDimensions.boxTop + boxDimensions.boxH,
104
- height: Math.max(0, boxDimensions.bottomOverlayHeight),
105
- backgroundColor: overlayColor
106
- }]
107
- }, {
108
- key: 'left',
109
- style: [styles.overlaySide, {
110
- left: 0,
111
- top: boxDimensions.boxTop,
112
- height: boxDimensions.boxH,
113
- width: Math.max(0, boxDimensions.sideOverlayWidth),
114
- backgroundColor: overlayColor
115
- }]
116
- }, {
117
- key: 'right',
118
- style: [styles.overlaySide, {
119
- right: 0,
120
- top: boxDimensions.boxTop,
121
- height: boxDimensions.boxH,
122
- width: Math.max(0, boxDimensions.rightOverlayWidth),
123
- backgroundColor: overlayColor
124
- }]
125
- }], [headerHeight, boxDimensions.topOverlayHeight, boxDimensions.boxTop, boxDimensions.boxH, boxDimensions.bottomOverlayHeight, boxDimensions.sideOverlayWidth, boxDimensions.rightOverlayWidth, overlayColor]);
126
-
127
- // Memoize scan box style with proper positioning (ensure no gap on right)
187
+ // Animation
188
+ const translateY = useScanLineAnimation(lineTravel);
189
+
190
+ // Theme colors
191
+ const overlayColor = colors.overlay || DEFAULT_OVERLAY_COLOR;
192
+ const shadowColor = colors.shadow || DEFAULT_SHADOW_COLOR;
193
+
194
+ // Corner properties
195
+ const cornerSize = useMemo(() => scale(CORNER_SIZE), []);
196
+ const cornerBorderWidth = useMemo(() => scale(CORNER_BORDER_WIDTH), []);
197
+
198
+ // Create overlay styles
199
+ const overlayStyles = useMemo(() => ({
200
+ top: createOverlayStyle('top', boxDimensions, headerHeight, overlayColor),
201
+ bottom: createOverlayStyle('bottom', boxDimensions, headerHeight, overlayColor),
202
+ left: createOverlayStyle('left', boxDimensions, headerHeight, overlayColor),
203
+ right: createOverlayStyle('right', boxDimensions, headerHeight, overlayColor)
204
+ }), [boxDimensions, headerHeight, overlayColor]);
205
+
206
+ // Scan box style
128
207
  const scanBoxStyle = useMemo(() => [styles.scanBox, {
129
208
  top: boxDimensions.boxTop,
130
209
  left: boxDimensions.sideOverlayWidth,
131
210
  width: boxDimensions.boxW,
132
211
  height: boxDimensions.boxH
133
- }], [boxDimensions.boxTop, boxDimensions.sideOverlayWidth, boxDimensions.boxW, boxDimensions.boxH]);
212
+ }], [boxDimensions]);
134
213
 
135
- // Memoize corner styles for better performance
136
- const cornerSize = useMemo(() => scale(CORNER_SIZE), []);
137
- const cornerBorderWidth = useMemo(() => scale(CORNER_BORDER_WIDTH), []);
138
- const getCornerStyle = useCallback(c => {
139
- const baseStyle = [styles.corner, styles[`corner_${c}`]];
140
- const dynamicStyle = {
141
- borderColor: colors.button,
142
- width: cornerSize,
143
- height: cornerSize,
144
- borderTopWidth: c.startsWith('t') ? cornerBorderWidth : 0,
145
- borderBottomWidth: c.startsWith('b') ? cornerBorderWidth : 0,
146
- borderLeftWidth: c.endsWith('l') ? cornerBorderWidth : 0,
147
- borderRightWidth: c.endsWith('r') ? cornerBorderWidth : 0
148
- };
149
- return [...baseStyle, dynamicStyle];
150
- }, [colors.button, cornerSize, cornerBorderWidth]);
151
-
152
- // Memoize animated line style
214
+ // Corner style generator
215
+ const getCornerStyle = useCallback(position => createCornerStyle(position, colors.button, cornerSize, cornerBorderWidth), [colors.button, cornerSize, cornerBorderWidth]);
216
+
217
+ // Scan line style
153
218
  const scanLineHeight = useMemo(() => scale(SCAN_LINE_HEIGHT), []);
154
- const animatedLineStyle = useMemo(() => ({
155
- position: 'absolute',
156
- top: margin,
157
- left: margin,
158
- right: margin,
159
- height: scanLineHeight,
160
- borderRadius: scanLineHeight / 2,
161
- backgroundColor: colors.button,
162
- transform: [{
163
- translateY
164
- }],
165
- shadowColor: colors.shadow || '#000',
166
- shadowOffset: {
167
- width: 0,
168
- height: 2
169
- },
170
- shadowOpacity: 0.4,
171
- shadowRadius: 4,
172
- elevation: Platform.OS === 'android' ? 5 : 0
173
- }), [margin, scanLineHeight, colors.button, colors.shadow, translateY]);
174
-
175
- // Memoize corner components for better performance (used in both layouts)
176
- const cornerComponents = useMemo(() => cornerPositions.map(c => /*#__PURE__*/_jsx(View, {
177
- style: getCornerStyle(c)
178
- }, c)), [cornerPositions, getCornerStyle]);
219
+ const scanLineStyle = useMemo(() => createScanLineStyle(margin, scanLineHeight, colors.button, shadowColor, translateY), [margin, scanLineHeight, colors.button, shadowColor, translateY]);
220
+
221
+ // Corner positions
222
+ const cornerPositions = ['tl', 'tr', 'bl', 'br'];
179
223
  return /*#__PURE__*/_jsxs(View, {
180
224
  style: styles.container,
181
225
  pointerEvents: "box-none",
182
- children: [overlayComponents.map(overlay => /*#__PURE__*/_jsx(View, {
183
- style: overlay.style
184
- }, overlay.key)), /*#__PURE__*/_jsxs(View, {
226
+ children: [/*#__PURE__*/_jsx(View, {
227
+ style: overlayStyles.top
228
+ }), /*#__PURE__*/_jsx(View, {
229
+ style: overlayStyles.bottom
230
+ }), /*#__PURE__*/_jsx(View, {
231
+ style: overlayStyles.left
232
+ }), /*#__PURE__*/_jsx(View, {
233
+ style: overlayStyles.right
234
+ }), /*#__PURE__*/_jsxs(View, {
185
235
  style: scanBoxStyle,
186
236
  pointerEvents: "none",
187
- children: [cornerComponents, /*#__PURE__*/_jsx(Animated.View, {
188
- style: animatedLineStyle
237
+ children: [cornerPositions.map(position => /*#__PURE__*/_jsx(View, {
238
+ style: getCornerStyle(position)
239
+ }, position)), /*#__PURE__*/_jsx(Animated.View, {
240
+ style: scanLineStyle
189
241
  })]
190
242
  })]
191
243
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useMemo","useCallback","View","StyleSheet","Animated","Easing","Dimensions","Platform","scale","useInternalTheme","jsx","_jsx","jsxs","_jsxs","width","SCREEN_W","height","SCREEN_H","get","ANIMATION_DURATION","CORNER_SIZE","CORNER_BORDER_WIDTH","SCAN_LINE_HEIGHT","SCAN_LINE_MARGIN","QrViewArea","memo","scanBoxWidth","headerHeight","theme","appliedTheme","colors","anim","Value","current","boxDimensions","defaultBoxW","Math","min","boxW","boxH","availableHeight","boxTop","max","floor","topOverlayHeight","bottomOverlayHeight","leftOverlayWidth","scanBoxLeft","scanBoxRight","rightOverlayWidth","sideOverlayWidth","margin","lineTravel","translateY","interpolate","inputRange","outputRange","animationConfig","duration","easing","linear","useNativeDriver","animation","loop","sequence","timing","toValue","start","stop","cornerPositions","overlayColor","overlay","overlayComponents","key","style","styles","overlayTop","top","backgroundColor","overlayBottom","overlaySide","left","right","scanBoxStyle","scanBox","cornerSize","cornerBorderWidth","getCornerStyle","c","baseStyle","corner","dynamicStyle","borderColor","button","borderTopWidth","startsWith","borderBottomWidth","borderLeftWidth","endsWith","borderRightWidth","scanLineHeight","animatedLineStyle","position","borderRadius","transform","shadowColor","shadow","shadowOffset","shadowOpacity","shadowRadius","elevation","OS","cornerComponents","map","container","pointerEvents","children","create","absoluteFillObject","zIndex","justifyContent","alignItems","overflow","corner_tl","corner_tr","corner_bl","bottom","corner_br"],"sourceRoot":"../../../../../../src","sources":["components/Auth/QrLogin/components/QrViewArea.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useMemo","useCallback","View","StyleSheet","Animated","Easing","Dimensions","Platform","scale","useInternalTheme","jsx","_jsx","jsxs","_jsxs","width","SCREEN_W","height","SCREEN_H","get","ANIMATION_DURATION","CORNER_SIZE","CORNER_BORDER_WIDTH","SCAN_LINE_HEIGHT","SCAN_LINE_MARGIN","BOX_WIDTH_RATIO","BOX_SIZE_RATIO","MAX_BOX_WIDTH","VERTICAL_OFFSET","DEFAULT_OVERLAY_COLOR","DEFAULT_SHADOW_COLOR","calculateBoxDimensions","scanBoxWidth","headerHeight","defaultBoxW","Math","min","boxW","boxH","availableHeight","boxTop","max","floor","topOverlayHeight","bottomOverlayHeight","leftOverlayWidth","scanBoxRight","rightOverlayWidth","sideOverlayWidth","createOverlayStyle","position","dimensions","overlayColor","baseStyleKey","charAt","toUpperCase","slice","baseStyle","styles","overlaySide","top","backgroundColor","left","right","createCornerStyle","borderColor","cornerSize","cornerBorderWidth","corner","dynamicStyle","borderTopWidth","startsWith","borderBottomWidth","borderLeftWidth","endsWith","borderRightWidth","createScanLineStyle","margin","scanLineHeight","shadowColor","translateY","borderRadius","transform","shadowOffset","shadowOpacity","shadowRadius","elevation","OS","useScanLineAnimation","lineTravel","anim","Value","current","animation","loop","sequence","timing","toValue","duration","easing","linear","useNativeDriver","start","stop","interpolate","inputRange","outputRange","QrViewArea","memo","theme","appliedTheme","colors","boxDimensions","overlay","shadow","overlayStyles","bottom","scanBoxStyle","scanBox","getCornerStyle","button","scanLineStyle","cornerPositions","style","container","pointerEvents","children","map","create","absoluteFillObject","zIndex","overlayTop","overlayBottom","justifyContent","alignItems","overflow","corner_tl","corner_tr","corner_bl","corner_br"],"sourceRoot":"../../../../../../src","sources":["components/Auth/QrLogin/components/QrViewArea.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@
5
5
  * @lastModified Mon 30 Jun 2025 at 10:46 PM
6
6
  */
7
7
 
8
- import React, { useRef, useLayoutEffect, useCallback, useMemo, useState } from 'react';
9
- import { View, FlatList, TouchableOpacity, StyleSheet, Dimensions, InteractionManager } from 'react-native';
8
+ import React, { useRef, useLayoutEffect, useEffect, useCallback, useMemo, useState } from 'react';
9
+ import { View, FlatList, TouchableOpacity, StyleSheet, Dimensions, InteractionManager, Platform, Vibration } from 'react-native';
10
10
  import { Text } from "../../../Text/index.js";
11
11
  import { useInternalTheme } from "../../../../theme/hook/useInternalTheme.js";
12
12
  import { scale, verticalScale } from 'react-native-size-matters';
@@ -19,6 +19,7 @@ const {
19
19
  } = Dimensions.get('window');
20
20
  import { usePrevious } from "../../../../hooks/usePrevious.js";
21
21
  import { useSkeletonItems } from "../../../../hooks/useSkeletonItems.js";
22
+ import { debounce } from 'lodash';
22
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
24
  const CategoryCard = /*#__PURE__*/React.memo(({
24
25
  category = [],
@@ -33,6 +34,8 @@ const CategoryCard = /*#__PURE__*/React.memo(({
33
34
  } = useInternalTheme(theme);
34
35
  const flatListRef = useRef(null);
35
36
  const [itemWidths, setItemWidths] = useState([]);
37
+ const isScrollingRef = useRef(false);
38
+ const lastPressedIndexRef = useRef(null);
36
39
 
37
40
  // Memoize theme colors
38
41
  const themeColors = useMemo(() => ({
@@ -61,8 +64,20 @@ const CategoryCard = /*#__PURE__*/React.memo(({
61
64
  const listContainerStyle = useMemo(() => [styles.listContainer, {
62
65
  flexDirection: 'row'
63
66
  }], []);
67
+
68
+ // Haptic feedback utility
69
+ const triggerHapticFeedback = useCallback(() => {
70
+ if (Platform.OS === 'ios') {
71
+ // iOS haptic feedback (light impact)
72
+ Vibration.vibrate(1);
73
+ } else if (Platform.OS === 'android') {
74
+ // Android haptic feedback (short vibration)
75
+ Vibration.vibrate(10);
76
+ }
77
+ }, []);
64
78
  const scrollToCategory = useCallback((index, animated) => {
65
- if (!flatListRef.current || index < 0 || index >= category.length) return;
79
+ if (!flatListRef.current || index < 0 || index >= category.length || isScrollingRef.current) return;
80
+ isScrollingRef.current = true;
66
81
  const RIGHT_SCROLL_BIAS = scale(40);
67
82
  const offset = itemWidths.length ? itemWidths.slice(0, index).reduce((sum, w) => sum + w, 0) + (itemWidths[index] ?? ITEM_WIDTH) / 2 - SCREEN_WIDTH / 2 + RIGHT_SCROLL_BIAS : index * ITEM_WIDTH + ITEM_WIDTH / 2 - SCREEN_WIDTH / 2 + RIGHT_SCROLL_BIAS;
68
83
  InteractionManager.runAfterInteractions(() => {
@@ -70,8 +85,28 @@ const CategoryCard = /*#__PURE__*/React.memo(({
70
85
  offset: Math.max(0, offset),
71
86
  animated
72
87
  });
88
+ // Reset scrolling flag after animation completes
89
+ if (animated) {
90
+ setTimeout(() => {
91
+ isScrollingRef.current = false;
92
+ }, 300);
93
+ } else {
94
+ isScrollingRef.current = false;
95
+ }
73
96
  });
74
97
  }, [category, itemWidths]);
98
+
99
+ // Debounced scroll function to prevent rapid scrolling
100
+ const debouncedScrollToCategory = useMemo(() => debounce((index, animated) => {
101
+ scrollToCategory(index, animated);
102
+ }, 100), [scrollToCategory]);
103
+
104
+ // Cleanup debounced function on unmount
105
+ useEffect(() => {
106
+ return () => {
107
+ debouncedScrollToCategory.cancel();
108
+ };
109
+ }, [debouncedScrollToCategory]);
75
110
  const onItemLayout = useCallback((event, index) => {
76
111
  const {
77
112
  width
@@ -85,16 +120,34 @@ const CategoryCard = /*#__PURE__*/React.memo(({
85
120
  useLayoutEffect(() => {
86
121
  if (selectedCategory && category.length > 0 && selectedCategory._id !== prevCategoryId) {
87
122
  const index = category.findIndex(cat => cat._id === selectedCategory._id);
88
- if (index >= 0) scrollToCategory(index, true);
123
+ if (index >= 0 && index !== lastPressedIndexRef.current) {
124
+ // Use debounced scroll for external category changes
125
+ debouncedScrollToCategory(index, true);
126
+ }
89
127
  }
90
- }, [selectedCategory, category, scrollToCategory, prevCategoryId]);
128
+ }, [selectedCategory, category, debouncedScrollToCategory, prevCategoryId]);
91
129
  const handlePress = useCallback(item => {
92
- onPressCategory?.(item);
130
+ // Prevent rapid successive taps on the same item
93
131
  const index = category.findIndex(cat => cat._id === item._id);
94
- if (index >= 0) {
95
- setTimeout(() => scrollToCategory(index, true), 10);
132
+ if (index < 0) return;
133
+
134
+ // Check if same item is being pressed rapidly
135
+ if (lastPressedIndexRef.current === index && isScrollingRef.current) {
136
+ return;
96
137
  }
97
- }, [category, onPressCategory, scrollToCategory]);
138
+ lastPressedIndexRef.current = index;
139
+
140
+ // Trigger haptic feedback for better UX
141
+ triggerHapticFeedback();
142
+
143
+ // Call the callback
144
+ onPressCategory?.(item);
145
+
146
+ // Scroll to category with slight delay for smoother UX
147
+ requestAnimationFrame(() => {
148
+ scrollToCategory(index, true);
149
+ });
150
+ }, [category, onPressCategory, scrollToCategory, triggerHapticFeedback]);
98
151
 
99
152
  // Memoize filled mode selected style
100
153
  const filledSelectedStyle = useMemo(() => ({
@@ -128,11 +181,16 @@ const CategoryCard = /*#__PURE__*/React.memo(({
128
181
  color: textColor
129
182
  }];
130
183
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
131
- activeOpacity: 0.9,
184
+ activeOpacity: 0.7,
132
185
  onPress: () => handlePress(item),
133
186
  style: containerStyle,
134
187
  onLayout: event => onItemLayout(event, index),
135
188
  accessibilityLabel: `Select category ${item.name}`,
189
+ accessibilityRole: "button",
190
+ accessibilityState: {
191
+ selected: isSelected
192
+ },
193
+ accessibilityHint: isSelected ? `${item.name} is currently selected` : `Double tap to select ${item.name} category`,
136
194
  children: [/*#__PURE__*/_jsx(Text, {
137
195
  style: textStyle,
138
196
  children: item.name
@@ -177,7 +235,21 @@ const CategoryCard = /*#__PURE__*/React.memo(({
177
235
  initialNumToRender: 10,
178
236
  maxToRenderPerBatch: 12,
179
237
  windowSize: 5,
180
- removeClippedSubviews: true
238
+ removeClippedSubviews: true,
239
+ onScrollBeginDrag: () => {
240
+ isScrollingRef.current = true;
241
+ },
242
+ onScrollEndDrag: () => {
243
+ // Reset after a short delay to allow momentum scrolling
244
+ setTimeout(() => {
245
+ isScrollingRef.current = false;
246
+ }, 200);
247
+ },
248
+ onMomentumScrollEnd: () => {
249
+ isScrollingRef.current = false;
250
+ },
251
+ accessibilityLabel: "Category selection list",
252
+ accessibilityRole: "list"
181
253
  })
182
254
  });
183
255
  }, (prev, next) => prev.category === next.category && prev.activeCategory?._id === next.activeCategory?._id && prev.isLoading === next.isLoading && prev.mode === next.mode && prev.theme === next.theme && prev.onPressCategory === next.onPressCategory);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useLayoutEffect","useCallback","useMemo","useState","View","FlatList","TouchableOpacity","StyleSheet","Dimensions","InteractionManager","Text","useInternalTheme","scale","verticalScale","SkeletonPlaceholder","RFValue","ITEM_WIDTH","CONTAINER_PADDING","width","SCREEN_WIDTH","get","usePrevious","useSkeletonItems","jsx","_jsx","jsxs","_jsxs","CategoryCard","memo","category","activeCategory","onPressCategory","theme","mode","isLoading","appliedTheme","flatListRef","itemWidths","setItemWidths","themeColors","primary","colors","outline","buttonText","textPrimary","skeletonBaseColor","skeletonHighlightColor","selectedCategory","prevCategoryId","_id","skeletonItems","skeletonItemStyle","height","borderRadius","marginRight","listContainerStyle","styles","listContainer","flexDirection","scrollToCategory","index","animated","current","length","RIGHT_SCROLL_BIAS","offset","slice","reduce","sum","w","runAfterInteractions","scrollToOffset","Math","max","onItemLayout","event","nativeEvent","layout","prev","newWidths","findIndex","cat","handlePress","item","setTimeout","filledSelectedStyle","borderWidth","borderColor","backgroundColor","filledUnselectedStyle","underlineStyle","underline","renderItem","isSelected","isFilledMode","containerStyle","tabContainer","textColor","textStyle","tabText","color","activeOpacity","onPress","style","onLayout","accessibilityLabel","name","children","renderSkeleton","highlightColor","map","_","getItemLayout","keyExtractor","container","ref","data","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","extraData","decelerationRate","scrollEnabled","scrollEventThrottle","initialNumToRender","maxToRenderPerBatch","windowSize","removeClippedSubviews","next","create","marginVertical","paddingVertical","paddingLeft","paddingRight","alignItems","justifyContent","paddingHorizontal","fontSize","textTransform","fontWeight","lineHeight","marginTop"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/Category/Category.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","useLayoutEffect","useEffect","useCallback","useMemo","useState","View","FlatList","TouchableOpacity","StyleSheet","Dimensions","InteractionManager","Platform","Vibration","Text","useInternalTheme","scale","verticalScale","SkeletonPlaceholder","RFValue","ITEM_WIDTH","CONTAINER_PADDING","width","SCREEN_WIDTH","get","usePrevious","useSkeletonItems","debounce","jsx","_jsx","jsxs","_jsxs","CategoryCard","memo","category","activeCategory","onPressCategory","theme","mode","isLoading","appliedTheme","flatListRef","itemWidths","setItemWidths","isScrollingRef","lastPressedIndexRef","themeColors","primary","colors","outline","buttonText","textPrimary","skeletonBaseColor","skeletonHighlightColor","selectedCategory","prevCategoryId","_id","skeletonItems","skeletonItemStyle","height","borderRadius","marginRight","listContainerStyle","styles","listContainer","flexDirection","triggerHapticFeedback","OS","vibrate","scrollToCategory","index","animated","current","length","RIGHT_SCROLL_BIAS","offset","slice","reduce","sum","w","runAfterInteractions","scrollToOffset","Math","max","setTimeout","debouncedScrollToCategory","cancel","onItemLayout","event","nativeEvent","layout","prev","newWidths","findIndex","cat","handlePress","item","requestAnimationFrame","filledSelectedStyle","borderWidth","borderColor","backgroundColor","filledUnselectedStyle","underlineStyle","underline","renderItem","isSelected","isFilledMode","containerStyle","tabContainer","textColor","textStyle","tabText","color","activeOpacity","onPress","style","onLayout","accessibilityLabel","name","accessibilityRole","accessibilityState","selected","accessibilityHint","children","renderSkeleton","highlightColor","map","_","getItemLayout","keyExtractor","container","ref","data","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","extraData","decelerationRate","scrollEnabled","scrollEventThrottle","initialNumToRender","maxToRenderPerBatch","windowSize","removeClippedSubviews","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollEnd","next","create","marginVertical","paddingVertical","paddingLeft","paddingRight","alignItems","justifyContent","paddingHorizontal","fontSize","textTransform","fontWeight","lineHeight","marginTop"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/Category/Category.tsx"],"mappings":"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","ignoreList":[]}