This commit is contained in:
parent
55ee800e18
commit
9ced0e4131
|
@ -66,7 +66,7 @@
|
||||||
"react-native-shake": "^3.3.1",
|
"react-native-shake": "^3.3.1",
|
||||||
"react-native-share": "10.0.2",
|
"react-native-share": "10.0.2",
|
||||||
"react-native-static-safe-area-insets": "^2.2.0",
|
"react-native-static-safe-area-insets": "^2.2.0",
|
||||||
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.6.3",
|
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.6.4",
|
||||||
"react-native-svg": "13.10.0",
|
"react-native-svg": "13.10.0",
|
||||||
"react-native-webview": "13.6.3",
|
"react-native-webview": "13.6.3",
|
||||||
"react-syntax-highlighter": "^15.5.0"
|
"react-syntax-highlighter": "^15.5.0"
|
||||||
|
|
|
@ -71,6 +71,10 @@
|
||||||
[callback]
|
[callback]
|
||||||
(.addListener ^js event-emitter "keyCardOnDisconnected" callback))
|
(.addListener ^js event-emitter "keyCardOnDisconnected" callback))
|
||||||
|
|
||||||
|
(defn on-card-new-pairing
|
||||||
|
[callback]
|
||||||
|
(.addListener ^js event-emitter "keyCardNewPairing" callback))
|
||||||
|
|
||||||
(defn on-nfc-user-cancelled
|
(defn on-nfc-user-cancelled
|
||||||
[callback]
|
[callback]
|
||||||
(.addListener ^js event-emitter "keyCardOnNFCUserCancelled" callback))
|
(.addListener ^js event-emitter "keyCardOnNFCUserCancelled" callback))
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
[status-im.contexts.keycard.utils :as keycard.utils]
|
[status-im.contexts.keycard.utils :as keycard.utils]
|
||||||
[status-im.contexts.profile.config :as profile.config]
|
[status-im.contexts.profile.config :as profile.config]
|
||||||
[utils.hex :as hex]
|
[utils.hex :as hex]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]
|
||||||
|
[utils.transforms :as transforms]))
|
||||||
|
|
||||||
(defonce ^:private active-listeners (atom []))
|
(defonce ^:private active-listeners (atom []))
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@
|
||||||
(reset! active-listeners
|
(reset! active-listeners
|
||||||
[(keycard/on-card-connected #(rf/dispatch [:keycard/on-card-connected]))
|
[(keycard/on-card-connected #(rf/dispatch [:keycard/on-card-connected]))
|
||||||
(keycard/on-card-disconnected #(rf/dispatch [:keycard/on-card-disconnected]))
|
(keycard/on-card-disconnected #(rf/dispatch [:keycard/on-card-disconnected]))
|
||||||
|
(keycard/on-card-new-pairing #(rf/dispatch [:keycard/on-card-new-pairing (transforms/js->clj %)]))
|
||||||
(when platform/ios?
|
(when platform/ios?
|
||||||
(keycard/on-nfc-user-cancelled #(rf/dispatch [:keycard.ios/on-nfc-user-cancelled])))
|
(keycard/on-nfc-user-cancelled #(rf/dispatch [:keycard.ios/on-nfc-user-cancelled])))
|
||||||
(when platform/ios?
|
(when platform/ios?
|
||||||
|
|
|
@ -25,21 +25,22 @@
|
||||||
:fx [(when-let [event (get-in db [:keycard :on-card-disconnected-event-vector])]
|
:fx [(when-let [event (get-in db [:keycard :on-card-disconnected-event-vector])]
|
||||||
[:dispatch event])]}))
|
[:dispatch event])]}))
|
||||||
|
|
||||||
|
(rf/reg-event-fx :keycard/on-card-new-pairing
|
||||||
|
(fn [{:keys [db]} [{:keys [pairing instanceUID]}]]
|
||||||
|
(when (and instanceUID pairing)
|
||||||
|
(let [pairings (get-in db [:keycard :pairings])
|
||||||
|
new-pairings (assoc pairings
|
||||||
|
instanceUID
|
||||||
|
{:pairing pairing
|
||||||
|
:paired-on (utils.datetime/timestamp)})]
|
||||||
|
{:db (assoc-in db [:keycard :pairings] new-pairings)
|
||||||
|
:keycard/persist-pairings new-pairings}))))
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/on-retrieve-pairings-success
|
(rf/reg-event-fx :keycard/on-retrieve-pairings-success
|
||||||
(fn [{:keys [db]} [pairings]]
|
(fn [{:keys [db]} [pairings]]
|
||||||
{:db (assoc-in db [:keycard :pairings] pairings)
|
{:db (assoc-in db [:keycard :pairings] pairings)
|
||||||
:fx [[:effects.keycard/set-pairing-to-keycard pairings]]}))
|
:fx [[:effects.keycard/set-pairing-to-keycard pairings]]}))
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/update-pairings
|
|
||||||
(fn [{:keys [db]} [instance-uid pairing]]
|
|
||||||
(let [pairings (get-in db [:keycard :pairings])
|
|
||||||
new-pairings (assoc pairings
|
|
||||||
instance-uid
|
|
||||||
{:pairing pairing
|
|
||||||
:paired-on (utils.datetime/timestamp)})]
|
|
||||||
{:db (assoc-in db [:keycard :pairings] new-pairings)
|
|
||||||
:keycard/persist-pairings new-pairings})))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/on-action-with-pin-error
|
(rf/reg-event-fx :keycard/on-action-with-pin-error
|
||||||
(fn [{:keys [db]} [error]]
|
(fn [{:keys [db]} [error]]
|
||||||
(let [tag-was-lost? (keycard.utils/tag-lost? (:error error))
|
(let [tag-was-lost? (keycard.utils/tag-lost? (:error error))
|
||||||
|
@ -126,10 +127,8 @@
|
||||||
(rf/reg-event-fx :keycard/get-application-info
|
(rf/reg-event-fx :keycard/get-application-info
|
||||||
(fn [_ [{:keys [key-uid on-success on-error]}]]
|
(fn [_ [{:keys [key-uid on-success on-error]}]]
|
||||||
{:effects.keycard/get-application-info
|
{:effects.keycard/get-application-info
|
||||||
{:on-success (fn [{:keys [instance-uid new-pairing] :as app-info}]
|
{:on-success (fn [app-info]
|
||||||
(rf/dispatch [:keycard/update-application-info app-info])
|
(rf/dispatch [:keycard/update-application-info app-info])
|
||||||
(when (and instance-uid new-pairing)
|
|
||||||
(rf/dispatch [:keycard/update-pairings instance-uid new-pairing]))
|
|
||||||
(if-let [error (keycard.utils/validate-application-info key-uid app-info)]
|
(if-let [error (keycard.utils/validate-application-info key-uid app-info)]
|
||||||
(if on-error
|
(if on-error
|
||||||
(on-error error)
|
(on-error error)
|
||||||
|
|
|
@ -9584,9 +9584,9 @@ react-native-static-safe-area-insets@^2.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/react-native-static-safe-area-insets/-/react-native-static-safe-area-insets-2.2.0.tgz#dd86b6a38f43964fac8df8c0e6bc8e062527786c"
|
resolved "https://registry.yarnpkg.com/react-native-static-safe-area-insets/-/react-native-static-safe-area-insets-2.2.0.tgz#dd86b6a38f43964fac8df8c0e6bc8e062527786c"
|
||||||
integrity sha512-TLTW2e2kRK3COSK8gMZzwp4wHguFCtcO18itDLn5av/xQblXt9ylu84o+qD9aKJCBfvtNzGOvqqTKqC5GJRZ/g==
|
integrity sha512-TLTW2e2kRK3COSK8gMZzwp4wHguFCtcO18itDLn5av/xQblXt9ylu84o+qD9aKJCBfvtNzGOvqqTKqC5GJRZ/g==
|
||||||
|
|
||||||
"react-native-status-keycard@git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.6.3":
|
"react-native-status-keycard@git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.6.4":
|
||||||
version "2.6.2"
|
version "2.6.2"
|
||||||
resolved "git+https://github.com/status-im/react-native-status-keycard.git#735bed7f9838b87712f1fd2978208186d28ea61c"
|
resolved "git+https://github.com/status-im/react-native-status-keycard.git#e78f46de10d65cfef2df2f62b6f41e64e0c332b9"
|
||||||
|
|
||||||
react-native-svg@13.10.0:
|
react-native-svg@13.10.0:
|
||||||
version "13.10.0"
|
version "13.10.0"
|
||||||
|
|
Loading…
Reference in New Issue