mirror of
https://github.com/status-im/status-mobile.git
synced 2025-02-19 12:06:48 +00:00
fix sometimes add contact screen is closed by itself after scanning QR code (#18101)
This commit is contained in:
parent
de4e233884
commit
7a6f05a440
@ -129,9 +129,12 @@
|
|||||||
[camera-permission-view]))
|
[camera-permission-view]))
|
||||||
|
|
||||||
(defn- check-qr-code-and-navigate
|
(defn- check-qr-code-and-navigate
|
||||||
[{:keys [event error-message validate-fn on-success-scan on-failed-scan]}]
|
[{:keys [event error-message validate-fn on-success-scan on-failed-scan scan-code?]}]
|
||||||
(let [scanned-value (string/trim (oops/oget event "nativeEvent.codeStringValue"))
|
(let [scanned-value (string/trim (oops/oget event "nativeEvent.codeStringValue"))
|
||||||
validated? (if validate-fn (validate-fn scanned-value) true)]
|
validated? (if validate-fn (validate-fn scanned-value) true)]
|
||||||
|
;; Note - camera-kit keeps scanning until the screen is dismissed,
|
||||||
|
;; so disable scanning to make sure the on-read-code doesn't get executed multiple times
|
||||||
|
(reset! scan-code? false)
|
||||||
(if validated?
|
(if validated?
|
||||||
(on-success-scan scanned-value)
|
(on-success-scan scanned-value)
|
||||||
(do
|
(do
|
||||||
@ -155,8 +158,9 @@
|
|||||||
:zoom-mode :off
|
:zoom-mode :off
|
||||||
:torch-mode torch-mode
|
:torch-mode torch-mode
|
||||||
:scan-barcode true
|
:scan-barcode true
|
||||||
:on-read-code #(when scan-code?
|
:on-read-code #(when @scan-code?
|
||||||
(check-qr-code-and-navigate {:event %
|
(check-qr-code-and-navigate {:event %
|
||||||
|
:scan-code? scan-code?
|
||||||
:validate-fn validate-fn
|
:validate-fn validate-fn
|
||||||
:error-message error-message
|
:error-message error-message
|
||||||
:on-success-scan set-qr-code-succeeded
|
:on-success-scan set-qr-code-succeeded
|
||||||
@ -209,7 +213,7 @@
|
|||||||
[render-camera
|
[render-camera
|
||||||
{:torch-mode torch-mode
|
{:torch-mode torch-mode
|
||||||
:qr-view-finder @qr-view-finder
|
:qr-view-finder @qr-view-finder
|
||||||
:scan-code? @scan-code?
|
:scan-code? scan-code?
|
||||||
:error-message error-message
|
:error-message error-message
|
||||||
:validate-fn validate-fn
|
:validate-fn validate-fn
|
||||||
:set-qr-code-succeeded (fn [value]
|
:set-qr-code-succeeded (fn [value]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user