@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
@@ -4,10 +4,11 @@
4
4
  * @author Ashok Desai
5
5
  * @lastModified oct 02 Oct 2025 at 10:30 AM
6
6
  */
7
- import React, { useState, useRef, useMemo, useCallback } from 'react';
7
+ import React, { useState, useRef, useMemo, useCallback, useEffect } from 'react';
8
8
  import { View, StyleSheet, Dimensions, TouchableOpacity, ActivityIndicator } from 'react-native';
9
9
  import { scale } from 'react-native-size-matters';
10
10
  import { RFValue } from 'react-native-responsive-fontsize';
11
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
11
12
  import { Text } from "../../Text/index.js";
12
13
  import AppHeader from "../../Headers/AppHeader.js";
13
14
  import { useInternalTheme } from "../../../theme/hook/useInternalTheme.js";
@@ -20,24 +21,220 @@ const {
20
21
  width: SCREEN_W,
21
22
  height: SCREEN_H
22
23
  } = Dimensions.get('window');
23
- const HEADER_HEIGHT = 25;
24
24
 
25
- // QR Detection constants
26
- const SCAN_DELAY_MS = 1000; // Delay before triggering scan (reduced for faster response)
27
- const RESET_DELAY_MS = 1000; // Delay before resetting scan state (reduced for faster response)
25
+ // ==================== Constants ====================
26
+ const SCAN_DELAY_MS = 1000;
27
+ const RESET_DELAY_MS = 2000;
28
+ const CAMERA_TYPE = 'back';
29
+ const CARD_WIDTH_OFFSET = 40;
30
+ const CARD_MIN_HEIGHT_RATIO = 2.5;
31
+ const ICON_SIZES = {
32
+ camera: 50,
33
+ qrCode: 180,
34
+ button: 22
35
+ };
36
+ const STROKE_WIDTHS = {
37
+ icon: 1.6,
38
+ button: 2
39
+ };
40
+
41
+ // ==================== Types ====================
28
42
 
43
+ // ==================== Default Values ====================
29
44
  const DEFAULTS = {
30
45
  title: 'QR Login',
31
46
  description: 'Please move your camera over the QR Code',
32
47
  scanButtonText: 'Scan QR Code',
33
- cameraType: 'back'
48
+ cameraType: CAMERA_TYPE
34
49
  };
50
+
51
+ // ==================== Helper Functions ====================
52
+ /**
53
+ * Extracts error message from error object
54
+ */
55
+ const getErrorMessage = (error, defaultMessage) => {
56
+ return error instanceof Error ? error.message : defaultMessage;
57
+ };
58
+
59
+ /**
60
+ * Creates style with background color
61
+ */
62
+ const createBackgroundStyle = (baseStyle, backgroundColor) => [baseStyle, {
63
+ backgroundColor
64
+ }];
65
+
66
+ /**
67
+ * Creates text style with color
68
+ */
69
+ const createTextStyle = (baseStyle, color) => [baseStyle, {
70
+ color
71
+ }];
72
+
73
+ // ==================== Custom Hooks ====================
74
+ /**
75
+ * Hook to manage QR scan state and timers
76
+ */
77
+ const useQrScanState = () => {
78
+ const scanTimer = useRef(null);
79
+ const resetTimer = useRef(null);
80
+ const lastValueRef = useRef(null);
81
+ const isScanning = useRef(false);
82
+ const resetScanState = useCallback(() => {
83
+ if (scanTimer.current) {
84
+ clearTimeout(scanTimer.current);
85
+ scanTimer.current = null;
86
+ }
87
+ if (resetTimer.current) {
88
+ clearTimeout(resetTimer.current);
89
+ resetTimer.current = null;
90
+ }
91
+ isScanning.current = false;
92
+ lastValueRef.current = null;
93
+ }, []);
94
+ useEffect(() => {
95
+ return () => {
96
+ resetScanState();
97
+ };
98
+ }, [resetScanState]);
99
+ return {
100
+ scanTimer,
101
+ resetTimer,
102
+ lastValueRef,
103
+ isScanning,
104
+ resetScanState
105
+ };
106
+ };
107
+
108
+ /**
109
+ * Hook to handle camera permission request
110
+ */
111
+ const useCameraPermissionHandler = (hasPermission, requestPermission, onError) => {
112
+ const [requesting, setRequesting] = useState(false);
113
+ const requestCameraPermission = useCallback(async () => {
114
+ if (hasPermission) return true;
115
+ setRequesting(true);
116
+ try {
117
+ const granted = await requestPermission();
118
+ setRequesting(false);
119
+ if (!granted) {
120
+ onError?.('Camera permission denied');
121
+ return false;
122
+ }
123
+ return true;
124
+ } catch (error) {
125
+ setRequesting(false);
126
+ const errorMessage = getErrorMessage(error, 'Camera permission request failed');
127
+ console.warn('Camera permission request failed:', error);
128
+ onError?.(errorMessage);
129
+ return false;
130
+ }
131
+ }, [hasPermission, requestPermission, onError]);
132
+ return {
133
+ requesting,
134
+ requestCameraPermission
135
+ };
136
+ };
137
+
138
+ // ==================== Sub-Components ====================
139
+ /**
140
+ * Camera view component when scanning is active
141
+ */
142
+ const CameraView = /*#__PURE__*/React.memo(({
143
+ device,
144
+ codeScanner,
145
+ theme
146
+ }) => {
147
+ if (!device) {
148
+ return null;
149
+ }
150
+ return /*#__PURE__*/_jsxs(_Fragment, {
151
+ children: [/*#__PURE__*/_jsx(Camera, {
152
+ style: StyleSheet.absoluteFill,
153
+ device: device,
154
+ isActive: true,
155
+ codeScanner: codeScanner,
156
+ enableFpsGraph: false
157
+ }), /*#__PURE__*/_jsx(QrViewArea, {
158
+ theme: theme
159
+ })]
160
+ });
161
+ });
162
+ CameraView.displayName = 'CameraView';
163
+
164
+ /**
165
+ * No camera available view
166
+ */
167
+ const NoCameraView = /*#__PURE__*/React.memo(({
168
+ textStyle,
169
+ containerStyle
170
+ }) => /*#__PURE__*/_jsx(View, {
171
+ style: containerStyle,
172
+ children: /*#__PURE__*/_jsx(Text, {
173
+ style: textStyle,
174
+ children: "No camera available"
175
+ })
176
+ }));
177
+ NoCameraView.displayName = 'NoCameraView';
178
+
179
+ /**
180
+ * Initial scan screen with QR code preview
181
+ */
182
+ const ScanPreviewScreen = /*#__PURE__*/React.memo(({
183
+ description,
184
+ scanButtonText,
185
+ requesting,
186
+ onStartScan,
187
+ colors,
188
+ styles: componentStyles
189
+ }) => /*#__PURE__*/_jsx(View, {
190
+ style: styles.content,
191
+ children: /*#__PURE__*/_jsxs(View, {
192
+ style: styles.card,
193
+ children: [/*#__PURE__*/_jsx(CameraIcon, {
194
+ size: scale(ICON_SIZES.camera),
195
+ color: colors.button,
196
+ strokeWidth: STROKE_WIDTHS.icon,
197
+ style: componentStyles.iconMargin
198
+ }), /*#__PURE__*/_jsx(Text, {
199
+ style: componentStyles.descText,
200
+ children: description
201
+ }), /*#__PURE__*/_jsx(View, {
202
+ style: componentStyles.qrBox,
203
+ children: /*#__PURE__*/_jsx(QrCode, {
204
+ size: scale(ICON_SIZES.qrCode),
205
+ color: colors.button,
206
+ strokeWidth: STROKE_WIDTHS.icon
207
+ })
208
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
209
+ style: componentStyles.scanBtn,
210
+ onPress: onStartScan,
211
+ activeOpacity: 0.85,
212
+ children: [/*#__PURE__*/_jsx(CameraIcon, {
213
+ size: scale(ICON_SIZES.button),
214
+ color: colors.button,
215
+ strokeWidth: STROKE_WIDTHS.button,
216
+ style: componentStyles.buttonIconMargin
217
+ }), /*#__PURE__*/_jsx(Text, {
218
+ style: componentStyles.scanText,
219
+ children: scanButtonText
220
+ })]
221
+ }), requesting && /*#__PURE__*/_jsx(ActivityIndicator, {
222
+ style: componentStyles.loaderMargin,
223
+ color: colors.primary
224
+ })]
225
+ })
226
+ }));
227
+ ScanPreviewScreen.displayName = 'ScanPreviewScreen';
228
+
229
+ // ==================== Main Component ====================
35
230
  export const QrLogin = /*#__PURE__*/React.memo(({
36
231
  title = DEFAULTS.title,
37
232
  description = DEFAULTS.description,
38
233
  scanButtonText = DEFAULTS.scanButtonText,
39
234
  onBackPress,
40
235
  onScanSuccess,
236
+ onScanError,
237
+ allowMultipleScans = true,
41
238
  theme
42
239
  }) => {
43
240
  const {
@@ -46,127 +243,134 @@ export const QrLogin = /*#__PURE__*/React.memo(({
46
243
  const {
47
244
  colors
48
245
  } = appliedTheme;
246
+ const {
247
+ top: statusBarHeight
248
+ } = useSafeAreaInsets();
49
249
  const [scanActive, setScanActive] = useState(false);
50
- const [requesting, setRequesting] = useState(false);
51
250
  const device = useCameraDevice(DEFAULTS.cameraType);
52
251
  const {
53
252
  hasPermission,
54
253
  requestPermission
55
254
  } = useCameraPermission();
56
- const scanTimer = useRef(null);
57
- const lastValueRef = useRef(null);
58
- const isScanning = useRef(false);
59
255
 
60
- // Cleanup timers on unmount
61
- React.useEffect(() => {
62
- return () => {
63
- if (scanTimer.current) {
64
- clearTimeout(scanTimer.current);
65
- }
66
- };
67
- }, []);
256
+ // QR scan state management
257
+ const {
258
+ scanTimer,
259
+ resetTimer,
260
+ lastValueRef,
261
+ isScanning,
262
+ resetScanState
263
+ } = useQrScanState();
264
+
265
+ // Camera permission handler
266
+ const {
267
+ requesting,
268
+ requestCameraPermission
269
+ } = useCameraPermissionHandler(hasPermission, requestPermission, onScanError);
270
+
271
+ // Stop scanning
272
+ const stopScan = useCallback(() => {
273
+ resetScanState();
274
+ setScanActive(false);
275
+ }, [resetScanState]);
276
+
277
+ // Handle back press
278
+ const handleBackPress = useCallback(() => {
279
+ if (scanActive) {
280
+ stopScan();
281
+ }
282
+ onBackPress?.();
283
+ }, [scanActive, stopScan, onBackPress]);
68
284
 
69
285
  // Handle code scanned
70
286
  const handleCodeScanned = useCallback(codes => {
71
- // Skip if already processing a scan
72
287
  if (isScanning.current || codes.length === 0) return;
73
-
74
- // Find first valid QR code
75
288
  for (const code of codes) {
76
289
  const value = code?.value;
77
290
  if (!value) continue;
78
291
 
79
- // Skip if same code was just scanned
80
- if (lastValueRef.current === value) return;
292
+ // Prevent duplicate scans
293
+ if (!allowMultipleScans && lastValueRef.current === value) return;
81
294
 
82
- // Clear any existing timer
295
+ // Clear pending scan timer
83
296
  if (scanTimer.current) {
84
297
  clearTimeout(scanTimer.current);
298
+ scanTimer.current = null;
85
299
  }
86
-
87
- // Update last scanned value
88
300
  lastValueRef.current = value;
89
301
 
90
- // Delay scan trigger to avoid rapid multiple scans
302
+ // Trigger success callback after delay
91
303
  scanTimer.current = setTimeout(() => {
92
304
  isScanning.current = true;
93
- setScanActive(false);
94
- onScanSuccess?.(value);
305
+ try {
306
+ onScanSuccess?.(value);
307
+ } catch (error) {
308
+ const errorMessage = getErrorMessage(error, 'Unknown error occurred');
309
+ onScanError?.(errorMessage);
310
+ console.error('QR scan success callback error:', error);
311
+ }
95
312
 
96
- // Reset scan state after processing
97
- setTimeout(() => {
98
- isScanning.current = false;
99
- lastValueRef.current = null;
100
- }, RESET_DELAY_MS);
313
+ // Reset scan state after delay for re-scanning
314
+ if (allowMultipleScans) {
315
+ resetTimer.current = setTimeout(() => {
316
+ resetScanState();
317
+ }, RESET_DELAY_MS);
318
+ }
101
319
  }, SCAN_DELAY_MS);
102
-
103
- // Process only first valid code
104
320
  break;
105
321
  }
106
- }, [onScanSuccess]);
322
+ }, [onScanSuccess, onScanError, allowMultipleScans, resetScanState, isScanning, lastValueRef, resetTimer, scanTimer]);
107
323
 
108
- // ---- Code Scanner ----
324
+ // Code scanner
109
325
  const codeScanner = useCodeScanner({
110
326
  codeTypes: ['qr'],
111
327
  onCodeScanned: handleCodeScanned
112
328
  });
329
+
330
+ // Start scan
113
331
  const startScan = useCallback(async () => {
114
- if (!hasPermission) {
115
- setRequesting(true);
116
- try {
117
- const granted = await requestPermission();
118
- setRequesting(false);
119
- if (!granted) return;
120
- } catch (error) {
121
- setRequesting(false);
122
- console.warn('Camera permission request failed:', error);
123
- return;
124
- }
332
+ resetScanState();
333
+ const hasPermissionGranted = await requestCameraPermission();
334
+ if (!hasPermissionGranted) return;
335
+ if (!device) {
336
+ onScanError?.('No camera device available');
337
+ return;
125
338
  }
126
339
  setScanActive(true);
127
- }, [hasPermission, requestPermission]);
128
-
129
- // Memoize container style
130
- const containerStyle = useMemo(() => [styles.container, {
131
- backgroundColor: colors.background
132
- }], [colors.background]);
340
+ }, [device, resetScanState, requestCameraPermission, onScanError]);
133
341
 
134
- // Memoize header wrapper style
342
+ // Memoized styles
343
+ const containerStyle = useMemo(() => createBackgroundStyle(styles.container, colors.background), [colors.background]);
135
344
  const headerWrapperStyle = useMemo(() => [styles.headerWrapper, {
136
- height: HEADER_HEIGHT
137
- }], []);
138
-
139
- // Memoize center style
140
- const centerStyle = useMemo(() => [styles.center, {
345
+ height: statusBarHeight,
141
346
  backgroundColor: colors.background
142
- }], [colors.background]);
143
-
144
- // Memoize description text style
145
- const descTextStyle = useMemo(() => [styles.descText, {
146
- color: colors.textPrimary
147
- }], [colors.textPrimary]);
148
-
149
- // Memoize QR box style
347
+ }], [colors.background, statusBarHeight]);
348
+ const centerStyle = useMemo(() => createBackgroundStyle(styles.center, colors.background), [colors.background]);
349
+ const descTextStyle = useMemo(() => createTextStyle(styles.descText, colors.textPrimary), [colors.textPrimary]);
150
350
  const qrBoxStyle = useMemo(() => [styles.qrBox, {
151
351
  borderColor: colors.primary,
152
352
  backgroundColor: colors.skeletonBaseColor
153
353
  }], [colors.primary, colors.skeletonBaseColor]);
154
-
155
- // Memoize scan button style
156
354
  const scanBtnStyle = useMemo(() => [styles.scanBtn, {
157
355
  borderColor: colors.button
158
356
  }], [colors.button]);
159
-
160
- // Memoize scan text style
161
- const scanTextStyle = useMemo(() => [styles.scanText, {
162
- color: colors.button
163
- }], [colors.button]);
164
-
165
- // Memoize no camera text style
357
+ const scanTextStyle = useMemo(() => createTextStyle(styles.scanText, colors.button), [colors.button]);
166
358
  const noCameraTextStyle = useMemo(() => ({
167
359
  color: colors.textPrimary,
168
360
  fontSize: RFValue(16)
169
361
  }), [colors.textPrimary]);
362
+ const cameraWrapperStyle = useMemo(() => [styles.cameraWrapper, {
363
+ top: statusBarHeight
364
+ }], [statusBarHeight]);
365
+ const componentStyles = useMemo(() => ({
366
+ descText: descTextStyle,
367
+ qrBox: qrBoxStyle,
368
+ scanBtn: scanBtnStyle,
369
+ scanText: scanTextStyle,
370
+ iconMargin: styles.iconMargin,
371
+ buttonIconMargin: styles.buttonIconMargin,
372
+ loaderMargin: styles.loaderMargin
373
+ }), [descTextStyle, qrBoxStyle, scanBtnStyle, scanTextStyle]);
170
374
  return /*#__PURE__*/_jsxs(View, {
171
375
  style: containerStyle,
172
376
  children: [/*#__PURE__*/_jsx(AppStatusBar, {
@@ -175,70 +379,33 @@ export const QrLogin = /*#__PURE__*/React.memo(({
175
379
  style: headerWrapperStyle,
176
380
  children: /*#__PURE__*/_jsx(AppHeader, {
177
381
  title: title,
178
- onBackPress: onBackPress,
382
+ onBackPress: handleBackPress,
179
383
  theme: theme,
180
384
  titleAlign: "left"
181
385
  })
182
386
  }), /*#__PURE__*/_jsx(View, {
183
- style: styles.cameraWrapper,
184
- children: scanActive ? device ? /*#__PURE__*/_jsxs(_Fragment, {
185
- children: [/*#__PURE__*/_jsx(Camera, {
186
- style: StyleSheet.absoluteFill,
187
- device: device,
188
- isActive: true,
189
- codeScanner: codeScanner,
190
- enableFpsGraph: false
191
- }), /*#__PURE__*/_jsx(QrViewArea, {
192
- theme: theme,
193
- headerHeight: HEADER_HEIGHT
194
- })]
195
- }) : /*#__PURE__*/_jsx(View, {
196
- style: centerStyle,
197
- children: /*#__PURE__*/_jsx(Text, {
198
- style: noCameraTextStyle,
199
- children: "No camera available"
200
- })
201
- }) : /*#__PURE__*/_jsx(View, {
202
- style: styles.content,
203
- children: /*#__PURE__*/_jsxs(View, {
204
- style: styles.card,
205
- children: [/*#__PURE__*/_jsx(CameraIcon, {
206
- size: scale(50),
207
- color: colors.button,
208
- strokeWidth: 1.6,
209
- style: styles.iconMargin
210
- }), /*#__PURE__*/_jsx(Text, {
211
- style: descTextStyle,
212
- children: description
213
- }), /*#__PURE__*/_jsx(View, {
214
- style: qrBoxStyle,
215
- children: /*#__PURE__*/_jsx(QrCode, {
216
- size: scale(180),
217
- color: colors.button,
218
- strokeWidth: 1.6
219
- })
220
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
221
- style: scanBtnStyle,
222
- onPress: startScan,
223
- activeOpacity: 0.85,
224
- children: [/*#__PURE__*/_jsx(CameraIcon, {
225
- size: scale(22),
226
- color: colors.button,
227
- strokeWidth: 2,
228
- style: styles.buttonIconMargin
229
- }), /*#__PURE__*/_jsx(Text, {
230
- style: scanTextStyle,
231
- children: scanButtonText
232
- })]
233
- }), requesting && /*#__PURE__*/_jsx(ActivityIndicator, {
234
- style: styles.loaderMargin,
235
- color: colors.primary
236
- })]
237
- })
387
+ style: cameraWrapperStyle,
388
+ children: scanActive ? device ? /*#__PURE__*/_jsx(CameraView, {
389
+ device: device,
390
+ codeScanner: codeScanner,
391
+ theme: theme
392
+ }) : /*#__PURE__*/_jsx(NoCameraView, {
393
+ textStyle: noCameraTextStyle,
394
+ containerStyle: centerStyle
395
+ }) : /*#__PURE__*/_jsx(ScanPreviewScreen, {
396
+ description: description,
397
+ scanButtonText: scanButtonText,
398
+ requesting: requesting,
399
+ onStartScan: startScan,
400
+ colors: colors,
401
+ styles: componentStyles
238
402
  })
239
403
  })]
240
404
  });
241
405
  });
406
+ QrLogin.displayName = 'QrLogin';
407
+
408
+ // ==================== Styles ====================
242
409
  const styles = StyleSheet.create({
243
410
  container: {
244
411
  flex: 1
@@ -252,8 +419,7 @@ const styles = StyleSheet.create({
252
419
  elevation: 20
253
420
  },
254
421
  cameraWrapper: {
255
- flex: 1,
256
- top: HEADER_HEIGHT
422
+ flex: 1
257
423
  },
258
424
  center: {
259
425
  flex: 1,
@@ -268,8 +434,8 @@ const styles = StyleSheet.create({
268
434
  marginBottom: scale(50)
269
435
  },
270
436
  card: {
271
- width: SCREEN_W - scale(40),
272
- minHeight: SCREEN_H / 2.5,
437
+ width: SCREEN_W - scale(CARD_WIDTH_OFFSET),
438
+ minHeight: SCREEN_H / CARD_MIN_HEIGHT_RATIO,
273
439
  alignItems: 'center',
274
440
  padding: scale(20)
275
441
  },
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useRef","useMemo","useCallback","View","StyleSheet","Dimensions","TouchableOpacity","ActivityIndicator","scale","RFValue","Text","AppHeader","useInternalTheme","Camera","CameraIcon","QrCode","useCameraDevice","useCameraPermission","useCodeScanner","QrViewArea","AppStatusBar","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","width","SCREEN_W","height","SCREEN_H","get","HEADER_HEIGHT","SCAN_DELAY_MS","RESET_DELAY_MS","DEFAULTS","title","description","scanButtonText","cameraType","QrLogin","memo","onBackPress","onScanSuccess","theme","appliedTheme","colors","scanActive","setScanActive","requesting","setRequesting","device","hasPermission","requestPermission","scanTimer","lastValueRef","isScanning","useEffect","current","clearTimeout","handleCodeScanned","codes","length","code","value","setTimeout","codeScanner","codeTypes","onCodeScanned","startScan","granted","error","console","warn","containerStyle","styles","container","backgroundColor","background","headerWrapperStyle","headerWrapper","centerStyle","center","descTextStyle","descText","color","textPrimary","qrBoxStyle","qrBox","borderColor","primary","skeletonBaseColor","scanBtnStyle","scanBtn","button","scanTextStyle","scanText","noCameraTextStyle","fontSize","style","children","titleAlign","cameraWrapper","absoluteFill","isActive","enableFpsGraph","headerHeight","content","card","size","strokeWidth","iconMargin","onPress","activeOpacity","buttonIconMargin","loaderMargin","create","flex","position","top","left","right","zIndex","elevation","alignItems","justifyContent","padding","marginBottom","minHeight","textAlign","marginVertical","borderWidth","borderRadius","flexDirection","paddingVertical","paddingHorizontal","marginTop","fontWeight","marginRight"],"sourceRoot":"../../../../../src","sources":["components/Auth/QrLogin/QrLogin.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useRef","useMemo","useCallback","useEffect","View","StyleSheet","Dimensions","TouchableOpacity","ActivityIndicator","scale","RFValue","useSafeAreaInsets","Text","AppHeader","useInternalTheme","Camera","CameraIcon","QrCode","useCameraDevice","useCameraPermission","useCodeScanner","QrViewArea","AppStatusBar","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","width","SCREEN_W","height","SCREEN_H","get","SCAN_DELAY_MS","RESET_DELAY_MS","CAMERA_TYPE","CARD_WIDTH_OFFSET","CARD_MIN_HEIGHT_RATIO","ICON_SIZES","camera","qrCode","button","STROKE_WIDTHS","icon","DEFAULTS","title","description","scanButtonText","cameraType","getErrorMessage","error","defaultMessage","Error","message","createBackgroundStyle","baseStyle","backgroundColor","createTextStyle","color","useQrScanState","scanTimer","resetTimer","lastValueRef","isScanning","resetScanState","current","clearTimeout","useCameraPermissionHandler","hasPermission","requestPermission","onError","requesting","setRequesting","requestCameraPermission","granted","errorMessage","console","warn","CameraView","memo","device","codeScanner","theme","children","style","absoluteFill","isActive","enableFpsGraph","displayName","NoCameraView","textStyle","containerStyle","ScanPreviewScreen","onStartScan","colors","styles","componentStyles","content","card","size","strokeWidth","iconMargin","descText","qrBox","scanBtn","onPress","activeOpacity","buttonIconMargin","scanText","loaderMargin","primary","QrLogin","onBackPress","onScanSuccess","onScanError","allowMultipleScans","appliedTheme","top","statusBarHeight","scanActive","setScanActive","stopScan","handleBackPress","handleCodeScanned","codes","length","code","value","setTimeout","codeTypes","onCodeScanned","startScan","hasPermissionGranted","container","background","headerWrapperStyle","headerWrapper","centerStyle","center","descTextStyle","textPrimary","qrBoxStyle","borderColor","skeletonBaseColor","scanBtnStyle","scanTextStyle","noCameraTextStyle","fontSize","cameraWrapperStyle","cameraWrapper","titleAlign","create","flex","position","left","right","zIndex","elevation","alignItems","justifyContent","padding","marginBottom","minHeight","textAlign","marginVertical","borderWidth","borderRadius","flexDirection","paddingVertical","paddingHorizontal","marginTop","fontWeight","marginRight"],"sourceRoot":"../../../../../src","sources":["components/Auth/QrLogin/QrLogin.tsx"],"mappings":"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","ignoreList":[]}