parent
bfcc63fc05
commit
eb116cc65d
|
@ -3,8 +3,8 @@
|
||||||
:url "http://example.com/FIXME"
|
:url "http://example.com/FIXME"
|
||||||
:license {:name "Eclipse Public License"
|
:license {:name "Eclipse Public License"
|
||||||
:url "http://www.eclipse.org/legal/epl-v10.html"}
|
:url "http://www.eclipse.org/legal/epl-v10.html"}
|
||||||
:dependencies [[org.clojure/clojure "1.7.0"]
|
:dependencies [[org.clojure/clojure "1.9.0-alpha7"]
|
||||||
[org.clojure/clojurescript "1.7.170"]
|
[org.clojure/clojurescript "1.9.76"]
|
||||||
[reagent "0.5.1" :exclusions [cljsjs/react]]
|
[reagent "0.5.1" :exclusions [cljsjs/react]]
|
||||||
[re-frame "0.6.0"]
|
[re-frame "0.6.0"]
|
||||||
[prismatic/schema "1.0.4"]
|
[prismatic/schema "1.0.4"]
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
(ns status-im.contacts.validations
|
||||||
|
(:require [cljs.spec :as s]))
|
||||||
|
|
||||||
|
(s/def ::not-empty-string (s/and string? not-empty))
|
||||||
|
|
||||||
|
(s/def ::name ::not-empty-string)
|
||||||
|
(s/def ::whisper-identity ::not-empty-string)
|
||||||
|
|
||||||
|
(s/def ::contact (s/keys :req-un [::name ::whisper-identity]
|
||||||
|
:opt-un [::phone ::photo-path ::address]))
|
|
@ -23,6 +23,8 @@
|
||||||
form-text-input]]
|
form-text-input]]
|
||||||
[status-im.qr-scanner.views.scan-button :refer [scan-button]]
|
[status-im.qr-scanner.views.scan-button :refer [scan-button]]
|
||||||
[status-im.i18n :refer [label]]
|
[status-im.i18n :refer [label]]
|
||||||
|
[cljs.spec :as s]
|
||||||
|
[status-im.contacts.validations :as v]
|
||||||
[status-im.contacts.styles :as st]))
|
[status-im.contacts.styles :as st]))
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,9 +34,6 @@
|
||||||
[text {:style toolbar-title-text}
|
[text {:style toolbar-title-text}
|
||||||
(label :t/add-new-contact)]])
|
(label :t/add-new-contact)]])
|
||||||
|
|
||||||
(defn valid-form? [name address]
|
|
||||||
(and (not (str/blank? name)) (not (str/blank? address))))
|
|
||||||
|
|
||||||
(defview contact-name-input [name]
|
(defview contact-name-input [name]
|
||||||
[]
|
[]
|
||||||
[text-input
|
[text-input
|
||||||
|
@ -67,7 +66,7 @@
|
||||||
:style icon-back}
|
:style icon-back}
|
||||||
:handler #(dispatch [:navigate-back])}
|
:handler #(dispatch [:navigate-back])}
|
||||||
:custom-content toolbar-title
|
:custom-content toolbar-title
|
||||||
:action {:image {:source {:uri (if (valid-form? name whisper-identity)
|
:action {:image {:source {:uri (if (s/valid? ::v/contact new-contact)
|
||||||
:icon_ok_blue
|
:icon_ok_blue
|
||||||
:icon_ok_disabled)}
|
:icon_ok_disabled)}
|
||||||
:style icon-search}
|
:style icon-search}
|
||||||
|
|
Loading…
Reference in New Issue