react-native-rectangle-doc-scanner 3.128.0 → 3.130.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FullDocScanner.js +12 -2
- package/package.json +1 -1
- package/src/FullDocScanner.tsx +17 -1
package/dist/FullDocScanner.js
CHANGED
|
@@ -550,6 +550,13 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
550
550
|
}
|
|
551
551
|
}, []);
|
|
552
552
|
const activePreviewImage = croppedImageData ? getActivePreviewImage(croppedImageData) : null;
|
|
553
|
+
// Android: 카메라 컴포넌트가 없으므로 자동으로 갤러리 열기
|
|
554
|
+
(0, react_1.useEffect)(() => {
|
|
555
|
+
if (react_native_1.Platform.OS === 'android' && !croppedImageData && !isGalleryOpen) {
|
|
556
|
+
console.log('[FullDocScanner] Android detected - opening gallery automatically');
|
|
557
|
+
handleGalleryPick();
|
|
558
|
+
}
|
|
559
|
+
}, []);
|
|
553
560
|
return (react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
554
561
|
croppedImageData ? (
|
|
555
562
|
// check_DP: Show confirmation screen
|
|
@@ -596,7 +603,7 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
596
603
|
react_1.default.createElement(react_native_1.TouchableOpacity, { style: [styles.confirmButton, styles.retakeButton], onPress: handleRetake, accessibilityLabel: mergedStrings.retake, accessibilityRole: "button" },
|
|
597
604
|
react_1.default.createElement(react_native_1.Text, { style: styles.confirmButtonText }, mergedStrings.retake)),
|
|
598
605
|
react_1.default.createElement(react_native_1.TouchableOpacity, { style: [styles.confirmButton, styles.confirmButtonPrimary], onPress: handleConfirm, accessibilityLabel: mergedStrings.confirm, accessibilityRole: "button" },
|
|
599
|
-
react_1.default.createElement(react_native_1.Text, { style: styles.confirmButtonText }, mergedStrings.confirm))))) : (react_1.default.createElement(react_native_1.View, { style: styles.flex },
|
|
606
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.confirmButtonText }, mergedStrings.confirm))))) : react_native_1.Platform.OS === 'ios' ? (react_1.default.createElement(react_native_1.View, { style: styles.flex },
|
|
600
607
|
react_1.default.createElement(DocScanner_1.DocScanner, { key: scannerSession, ref: docScannerRef, autoCapture: false, overlayColor: overlayColor, showGrid: showGrid, gridColor: resolvedGridColor, gridLineWidth: gridLineWidth, minStableFrames: minStableFrames ?? 6, detectionConfig: detectionConfig, onCapture: handleCapture, onRectangleDetect: handleRectangleDetect, showManualCaptureButton: false, enableTorch: flashEnabled },
|
|
601
608
|
react_1.default.createElement(react_native_1.View, { style: styles.overlayTop, pointerEvents: "box-none" },
|
|
602
609
|
react_1.default.createElement(react_native_1.TouchableOpacity, { style: [
|
|
@@ -624,7 +631,10 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
624
631
|
styles.shutterInner,
|
|
625
632
|
rectangleHint && { backgroundColor: overlayColor }
|
|
626
633
|
] })),
|
|
627
|
-
react_1.default.createElement(react_native_1.View, { style: styles.rightButtonsPlaceholder }))))),
|
|
634
|
+
react_1.default.createElement(react_native_1.View, { style: styles.rightButtonsPlaceholder }))))) : (react_1.default.createElement(react_native_1.View, { style: styles.flex },
|
|
635
|
+
react_1.default.createElement(react_native_1.View, { style: styles.processingOverlay },
|
|
636
|
+
react_1.default.createElement(react_native_1.ActivityIndicator, { size: "large", color: overlayColor }),
|
|
637
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.processingText }, "\uAC24\uB7EC\uB9AC\uC5D0\uC11C \uC774\uBBF8\uC9C0\uB97C \uC120\uD0DD\uD574\uC8FC\uC138\uC694...")))),
|
|
628
638
|
processing && (react_1.default.createElement(react_native_1.View, { style: styles.processingOverlay },
|
|
629
639
|
react_1.default.createElement(react_native_1.ActivityIndicator, { size: "large", color: overlayColor }),
|
|
630
640
|
mergedStrings.processing && (react_1.default.createElement(react_native_1.Text, { style: styles.processingText }, mergedStrings.processing))))));
|
package/package.json
CHANGED
package/src/FullDocScanner.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
Image,
|
|
6
6
|
InteractionManager,
|
|
7
7
|
NativeModules,
|
|
8
|
+
Platform,
|
|
8
9
|
StyleSheet,
|
|
9
10
|
Text,
|
|
10
11
|
TouchableOpacity,
|
|
@@ -750,6 +751,14 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
750
751
|
|
|
751
752
|
const activePreviewImage = croppedImageData ? getActivePreviewImage(croppedImageData) : null;
|
|
752
753
|
|
|
754
|
+
// Android: 카메라 컴포넌트가 없으므로 자동으로 갤러리 열기
|
|
755
|
+
useEffect(() => {
|
|
756
|
+
if (Platform.OS === 'android' && !croppedImageData && !isGalleryOpen) {
|
|
757
|
+
console.log('[FullDocScanner] Android detected - opening gallery automatically');
|
|
758
|
+
handleGalleryPick();
|
|
759
|
+
}
|
|
760
|
+
}, []);
|
|
761
|
+
|
|
753
762
|
return (
|
|
754
763
|
<View style={styles.container}>
|
|
755
764
|
{croppedImageData ? (
|
|
@@ -890,7 +899,7 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
890
899
|
</TouchableOpacity>
|
|
891
900
|
</View>
|
|
892
901
|
</View>
|
|
893
|
-
) : (
|
|
902
|
+
) : Platform.OS === 'ios' ? (
|
|
894
903
|
<View style={styles.flex}>
|
|
895
904
|
<DocScanner
|
|
896
905
|
key={scannerSession}
|
|
@@ -988,6 +997,13 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
988
997
|
</View>
|
|
989
998
|
</DocScanner>
|
|
990
999
|
</View>
|
|
1000
|
+
) : (
|
|
1001
|
+
<View style={styles.flex}>
|
|
1002
|
+
<View style={styles.processingOverlay}>
|
|
1003
|
+
<ActivityIndicator size="large" color={overlayColor} />
|
|
1004
|
+
<Text style={styles.processingText}>갤러리에서 이미지를 선택해주세요...</Text>
|
|
1005
|
+
</View>
|
|
1006
|
+
</View>
|
|
991
1007
|
)}
|
|
992
1008
|
|
|
993
1009
|
{processing && (
|