diff --git a/android/app/src/main/res/drawable-hdpi/icon_enter_address.png b/android/app/src/main/res/drawable-hdpi/icon_enter_address.png new file mode 100755 index 0000000000..776aadf1ed Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/icon_enter_address.png differ diff --git a/android/app/src/main/res/drawable-hdpi/icon_scan_q_r.png b/android/app/src/main/res/drawable-hdpi/icon_scan_q_r.png new file mode 100755 index 0000000000..df2c269ee6 Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/icon_scan_q_r.png differ diff --git a/android/app/src/main/res/drawable-mdpi/icon_enter_address.png b/android/app/src/main/res/drawable-mdpi/icon_enter_address.png new file mode 100755 index 0000000000..37fb533bfa Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/icon_enter_address.png differ diff --git a/android/app/src/main/res/drawable-mdpi/icon_scan_q_r.png b/android/app/src/main/res/drawable-mdpi/icon_scan_q_r.png new file mode 100755 index 0000000000..906e8f7d08 Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/icon_scan_q_r.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/icon_enter_address.png b/android/app/src/main/res/drawable-xhdpi/icon_enter_address.png new file mode 100755 index 0000000000..9f8f14f509 Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/icon_enter_address.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/icon_scan_q_r.png b/android/app/src/main/res/drawable-xhdpi/icon_scan_q_r.png new file mode 100755 index 0000000000..e914b927df Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/icon_scan_q_r.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/icon_enter_address.png b/android/app/src/main/res/drawable-xxhdpi/icon_enter_address.png new file mode 100755 index 0000000000..2adebc2c9a Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/icon_enter_address.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/icon_scan_q_r.png b/android/app/src/main/res/drawable-xxhdpi/icon_scan_q_r.png new file mode 100755 index 0000000000..205e92cd8e Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/icon_scan_q_r.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/icon_enter_address.png b/android/app/src/main/res/drawable-xxxhdpi/icon_enter_address.png new file mode 100755 index 0000000000..7e6c232c99 Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/icon_enter_address.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/icon_scan_q_r.png b/android/app/src/main/res/drawable-xxxhdpi/icon_scan_q_r.png new file mode 100755 index 0000000000..9e140304dd Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/icon_scan_q_r.png differ diff --git a/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/Contents.json b/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/Contents.json new file mode 100644 index 0000000000..7a263fe74c --- /dev/null +++ b/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "icon_enter_address.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/icon_enter_address.png b/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/icon_enter_address.png new file mode 100644 index 0000000000..7e6c232c99 Binary files /dev/null and b/ios/StatusIm/Images.xcassets/icon_enter_address.imageset/icon_enter_address.png differ diff --git a/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/Contents.json b/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/Contents.json new file mode 100644 index 0000000000..182153f038 --- /dev/null +++ b/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "icon_scan_q_r.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/icon_scan_q_r.png b/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/icon_scan_q_r.png new file mode 100644 index 0000000000..9e140304dd Binary files /dev/null and b/ios/StatusIm/Images.xcassets/icon_scan_q_r.imageset/icon_scan_q_r.png differ diff --git a/src/status_im/contacts/styles.cljs b/src/status_im/contacts/styles.cljs index d6cf5344f2..c6a110d0bf 100644 --- a/src/status_im/contacts/styles.cljs +++ b/src/status_im/contacts/styles.cljs @@ -142,12 +142,13 @@ {:flex 1 :flexDirection :row :height 56 + :margin-right 16 :backgroundColor color-white}) (def info-container {:flex 1 :flexDirection :column - :marginLeft 12 + :margin-left 12 :justifyContent :center}) (def name-text @@ -185,7 +186,7 @@ (def form-container {:margin-left 16 - :margin-top 16 + :margin-top 8 :height 72}) (def address-explication-container @@ -208,7 +209,16 @@ (def qr-input {:margin-right 42}) +(def enter-address-icon + {:margin-left 21 + :margin-right 21 + :margin-top 19 + :width 20 + :height 18}) + (def scan-qr-icon - {:margin 18 - :width 25 - :height 19}) \ No newline at end of file + {:margin-left 21 + :margin-right 20 + :margin-top 18 + :width 20 + :height 20}) \ No newline at end of file diff --git a/src/status_im/contacts/views/contact_list.cljs b/src/status_im/contacts/views/contact_list.cljs index 32dc4d548c..5442f836b9 100644 --- a/src/status_im/contacts/views/contact_list.cljs +++ b/src/status_im/contacts/views/contact_list.cljs @@ -9,17 +9,23 @@ [status-im.contacts.views.contact :refer [contact-view on-press contact-view-with-letter]] + [status-im.components.text-field.view :refer [text-field]] [status-im.components.status-bar :refer [status-bar]] [status-im.components.toolbar.view :refer [toolbar]] [status-im.components.toolbar.styles :refer [toolbar-background1]] [status-im.components.drawer.view :refer [drawer-view open-drawer]] [status-im.components.styles :refer [icon-search - icon-back]] + icon-back + button-input-container + button-input]] + [status-im.components.image-button.view :refer [scan-button]] [status-im.contacts.styles :as st] [status-im.utils.listview :as lw] [status-im.i18n :refer [label]] [status-im.utils.platform :refer [platform-specific]] - [status-im.contacts.views.contact-inner :refer [contact-inner-view]])) + [status-im.contacts.views.contact-inner :refer [contact-inner-view]] + [reagent.core :as r] + [clojure.string :as str])) (defn new-group-chat-view [] [touchable-highlight @@ -42,19 +48,17 @@ (or click-handler (on-press row))])))) -(defn qr-scan [click-handler action] +(defn contact-list-entry [{:keys [click-handler icon icon-style label]}] [touchable-highlight - {:onPress #(click-handler :qr-scan action)} + {:on-press click-handler} [view st/contact-container [view st/contact-inner-container - [image {:source {:uri :icon_menu_group} - :style st/scan-qr-icon}] + [image {:source {:uri icon} + :style icon-style}] [view st/info-container [text {:style st/name-text :number-of-lines 1} - (label (if (= :request action) - :t/show-qr - :t/scan-qr))]]]]]) + label]]]]]) (defview contact-list-toolbar [] [group [:get :contacts-group] @@ -90,11 +94,25 @@ [contact-list-toolbar] ;; todo add stub (when modal - [qr-scan click-handler action]) + [view + [contact-list-entry {:click-handler #(do + (dispatch [:send-to-webview-bridge + {:event (name :webview-send-transaction)}]) + (dispatch [:navigate-back])) + :icon :icon_enter_address + :icon-style st/enter-address-icon + :label (label :t/enter-address)}] + [contact-list-entry {:click-handler #(click-handler :qr-scan action) + :icon :icon_scan_q_r + :icon-style st/scan-qr-icon + :label (label (if (= :request action) + :t/show-qr + :t/scan-qr))}]]) (when contacts [list-view {:dataSource (lw/to-datasource contacts) :enableEmptySections true :renderRow (render-row modal click-handler action params) + :bounces false :renderHeader #(list-item [view (if show-new-group-chat? diff --git a/src/status_im/translations/en.cljs b/src/status_im/translations/en.cljs index 3c5d5c4e24..3cdaffd203 100644 --- a/src/status_im/translations/en.cljs +++ b/src/status_im/translations/en.cljs @@ -127,6 +127,7 @@ :contacts-group-new-chat "Start new chat" :no-contacts "No contacts yet" :show-qr "Show QR" + :enter-address "Enter address" ;group-settings :remove "Remove" diff --git a/src/status_im/translations/ru.cljs b/src/status_im/translations/ru.cljs index 45a3eb7f74..f9af405cab 100644 --- a/src/status_im/translations/ru.cljs +++ b/src/status_im/translations/ru.cljs @@ -125,6 +125,7 @@ :contacts-group-new-chat "Начать новый час" :no-contacts "Пока нет контактов" :show-qr "Показать QR" + :enter-address "Ввести адрес" ;group-settings :remove "Удалить"