Skip to content

Commit 62f68ff

Browse files
authored
Fix: slide button (#18922)
* fix: slide button
1 parent 5d1e1f8 commit 62f68ff

File tree

3 files changed

+23
-31
lines changed
  • src
    • quo/components/buttons/slide_button
    • status_im
      • common/standard_authentication/standard_auth/slide_button
      • contexts/wallet/create_account

3 files changed

+23
-31
lines changed

src/quo/components/buttons/slide_button/view.cljs

+19-26
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,26 @@
1414
[react-native.reanimated :as reanimated]))
1515

1616
(defn drag-gesture
17-
[x-pos gestures-disabled? set-gestures-disabled disabled? track-width sliding-complete?
17+
[x-pos disabled? track-width sliding-complete?
1818
set-sliding-complete
1919
on-complete reset-fn]
20-
(let [gestures-enabled? (not (or disabled? gestures-disabled?))]
21-
(-> (gesture/gesture-pan)
22-
(gesture/with-test-ID :slide-button-gestures)
23-
(gesture/enabled gestures-enabled?)
24-
(gesture/min-distance 0)
25-
(gesture/on-update (fn [event]
26-
(let [x-translation (oops/oget event "translationX")
27-
clamped-x (utils/clamp-value x-translation 0 track-width)
28-
reached-end? (>= clamped-x track-width)]
29-
(reanimated/set-shared-value x-pos clamped-x)
30-
(when (and reached-end? (not sliding-complete?))
31-
(set-gestures-disabled true)
32-
(set-sliding-complete true)
33-
(when on-complete (on-complete reset-fn))))))
34-
(gesture/on-end (fn [event]
35-
(let [x-translation (oops/oget event "translationX")
36-
reached-end? (>= x-translation track-width)]
37-
(when (not reached-end?)
38-
(animations/reset-track-position x-pos))))))))
20+
(-> (gesture/gesture-pan)
21+
(gesture/with-test-ID :slide-button-gestures)
22+
(gesture/enabled (not disabled?))
23+
(gesture/min-distance 0)
24+
(gesture/on-update (fn [event]
25+
(let [x-translation (oops/oget event "translationX")
26+
clamped-x (utils/clamp-value x-translation 0 track-width)
27+
reached-end? (>= clamped-x track-width)]
28+
(reanimated/set-shared-value x-pos clamped-x)
29+
(when (and reached-end? (not sliding-complete?))
30+
(set-sliding-complete true)
31+
(when on-complete (on-complete reset-fn))))))
32+
(gesture/on-end (fn [event]
33+
(let [x-translation (oops/oget event "translationX")
34+
reached-end? (>= x-translation track-width)]
35+
(when (not reached-end?)
36+
(animations/reset-track-position x-pos)))))))
3937

4038
(defn view
4139
"Options
@@ -55,14 +53,11 @@
5553
[track-width set-track-width] (rn/use-state nil)
5654
[sliding-complete?
5755
set-sliding-complete] (rn/use-state false)
58-
[gestures-disabled?
59-
set-gestures-disabled] (rn/use-state disabled?)
6056
on-track-layout (rn/use-callback
6157
#(set-track-width (oops/oget % "nativeEvent.layout.width")))
6258
reset-fn (rn/use-callback
6359
(fn []
6460
(set-sliding-complete false)
65-
(set-gestures-disabled false)
6661
(animations/reset-track-position x-pos)))
6762
dimensions (rn/use-callback
6863
(partial utils/get-dimensions
@@ -77,15 +72,13 @@
7772
[dimensions])
7873
custom-color (if (= type :danger) :danger customization-color)
7974
gesture (rn/use-memo #(drag-gesture x-pos
80-
gestures-disabled?
81-
set-gestures-disabled
8275
disabled?
8376
(dimensions :usable-track)
8477
sliding-complete?
8578
set-sliding-complete
8679
on-complete
8780
reset-fn)
88-
[gestures-disabled? sliding-complete? disabled?])]
81+
[sliding-complete? disabled?])]
8982
[gesture/gesture-detector
9083
{:gesture gesture}
9184
[reanimated/view

src/status_im/common/standard_authentication/standard_auth/slide_button/view.cljs

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
(defn view
1111
[{:keys [track-text customization-color auth-button-label on-auth-success on-auth-fail
12-
auth-button-icon-left size blur? container-style]
12+
auth-button-icon-left size blur? container-style disabled?]
1313
:or {container-style {:flex 1}}}]
1414
(let [theme (quo.theme/use-theme-value)
1515
auth-method (rf/sub [:auth-method])
@@ -31,4 +31,5 @@
3131
:customization-color customization-color
3232
:on-complete on-complete
3333
:track-icon (if biometric-auth? :i/face-id :password)
34-
:track-text track-text}]))
34+
:track-text track-text
35+
:disabled? disabled?}]))

src/status_im/contexts/wallet/create_account/view.cljs

+1-3
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,7 @@
148148
:path @derivation-path
149149
:account-name @account-name}])))
150150
:auth-button-label (i18n/label :t/confirm)
151-
;; TODO (@rende11) Add this property when sliding button issue will fixed
152-
;; https://github.com/status-im/status-mobile/pull/18683#issuecomment-1941564785
153-
;; :disabled? (empty? @account-name)
151+
:disabled? (empty? @account-name)
154152
:container-style (style/slide-button-container bottom)}]]))))
155153

156154
(defn- view-internal

0 commit comments

Comments
 (0)