From c6fcfb63fd54a3d998e66592abc1165642b49860 Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Wed, 14 Nov 2018 19:42:03 -0200 Subject: [PATCH] [WIP] New Authentication layout (#536) New Authentication layout --- .../app/src/main/res/drawable-hdpi/eye.png | Bin 0 -> 966 bytes .../src/main/res/drawable-hdpi/eye_slash.png | Bin 0 -> 1384 bytes .../src/main/res/drawable-hdpi/hashtag.png | Bin 222 -> 187 bytes .../main/res/drawable-hdpi/icon_facebook.png | Bin 0 -> 638 bytes .../main/res/drawable-hdpi/icon_github.png | Bin 0 -> 1421 bytes .../main/res/drawable-hdpi/icon_gitlab.png | Bin 0 -> 1589 bytes .../main/res/drawable-hdpi/icon_google.png | Bin 0 -> 1378 bytes .../main/res/drawable-hdpi/icon_linkedin.png | Bin 0 -> 797 bytes .../main/res/drawable-hdpi/icon_meteor.png | Bin 0 -> 2170 bytes .../main/res/drawable-hdpi/icon_twitter.png | Bin 0 -> 1209 bytes .../app/src/main/res/drawable-hdpi/key.png | Bin 0 -> 1310 bytes .../app/src/main/res/drawable-hdpi/lock.png | Bin 559 -> 484 bytes .../app/src/main/res/drawable-hdpi/mail.png | Bin 0 -> 643 bytes .../src/main/res/drawable-hdpi/mention.png | Bin 981 -> 1096 bytes .../app/src/main/res/drawable-hdpi/more.png | Bin 0 -> 214 bytes .../src/main/res/drawable-hdpi/options.png | Bin 0 -> 1665 bytes .../drawable-hdpi/subscription_hashtag.png | Bin 174 -> 0 bytes .../res/drawable-hdpi/subscription_lock.png | Bin 335 -> 0 bytes .../app/src/main/res/drawable-hdpi/user.png | Bin 0 -> 982 bytes .../app/src/main/res/drawable-mdpi/eye.png | Bin 0 -> 631 bytes .../src/main/res/drawable-mdpi/eye_slash.png | Bin 0 -> 820 bytes .../src/main/res/drawable-mdpi/hashtag.png | Bin 142 -> 147 bytes .../main/res/drawable-mdpi/icon_facebook.png | Bin 0 -> 498 bytes .../main/res/drawable-mdpi/icon_github.png | Bin 0 -> 914 bytes .../main/res/drawable-mdpi/icon_gitlab.png | Bin 0 -> 995 bytes .../main/res/drawable-mdpi/icon_google.png | Bin 0 -> 928 bytes .../main/res/drawable-mdpi/icon_linkedin.png | Bin 0 -> 595 bytes .../main/res/drawable-mdpi/icon_meteor.png | Bin 0 -> 1258 bytes .../main/res/drawable-mdpi/icon_twitter.png | Bin 0 -> 774 bytes .../app/src/main/res/drawable-mdpi/key.png | Bin 0 -> 787 bytes .../app/src/main/res/drawable-mdpi/lock.png | Bin 408 -> 351 bytes .../app/src/main/res/drawable-mdpi/mail.png | Bin 0 -> 445 bytes .../src/main/res/drawable-mdpi/mention.png | Bin 618 -> 709 bytes .../app/src/main/res/drawable-mdpi/more.png | Bin 0 -> 143 bytes .../src/main/res/drawable-mdpi/options.png | Bin 0 -> 987 bytes .../drawable-mdpi/subscription_hashtag.png | Bin 118 -> 0 bytes .../res/drawable-mdpi/subscription_lock.png | Bin 198 -> 0 bytes .../app/src/main/res/drawable-mdpi/user.png | Bin 0 -> 599 bytes .../app/src/main/res/drawable-xhdpi/eye.png | Bin 0 -> 1307 bytes .../src/main/res/drawable-xhdpi/eye_slash.png | Bin 0 -> 1886 bytes .../src/main/res/drawable-xhdpi/hashtag.png | Bin 224 -> 227 bytes .../main/res/drawable-xhdpi/icon_facebook.png | Bin 0 -> 775 bytes .../main/res/drawable-xhdpi/icon_github.png | Bin 0 -> 1997 bytes .../main/res/drawable-xhdpi/icon_gitlab.png | Bin 0 -> 2209 bytes .../main/res/drawable-xhdpi/icon_google.png | Bin 0 -> 1852 bytes .../main/res/drawable-xhdpi/icon_linkedin.png | Bin 0 -> 998 bytes .../main/res/drawable-xhdpi/icon_meteor.png | Bin 0 -> 3082 bytes .../main/res/drawable-xhdpi/icon_twitter.png | Bin 0 -> 1591 bytes .../app/src/main/res/drawable-xhdpi/key.png | Bin 0 -> 1760 bytes .../app/src/main/res/drawable-xhdpi/lock.png | Bin 659 -> 658 bytes .../app/src/main/res/drawable-xhdpi/mail.png | Bin 0 -> 853 bytes .../src/main/res/drawable-xhdpi/mention.png | Bin 1462 -> 1580 bytes .../app/src/main/res/drawable-xhdpi/more.png | Bin 0 -> 226 bytes .../src/main/res/drawable-xhdpi/options.png | Bin 0 -> 1937 bytes .../drawable-xhdpi/subscription_hashtag.png | Bin 147 -> 0 bytes .../res/drawable-xhdpi/subscription_lock.png | Bin 351 -> 0 bytes .../app/src/main/res/drawable-xhdpi/user.png | Bin 0 -> 1391 bytes .../app/src/main/res/drawable-xxhdpi/eye.png | Bin 0 -> 2067 bytes .../main/res/drawable-xxhdpi/eye_slash.png | Bin 0 -> 2886 bytes .../src/main/res/drawable-xxhdpi/hashtag.png | Bin 313 -> 307 bytes .../res/drawable-xxhdpi/icon_facebook.png | Bin 0 -> 1104 bytes .../main/res/drawable-xxhdpi/icon_github.png | Bin 0 -> 3032 bytes .../main/res/drawable-xxhdpi/icon_gitlab.png | Bin 0 -> 3435 bytes .../main/res/drawable-xxhdpi/icon_google.png | Bin 0 -> 2844 bytes .../res/drawable-xxhdpi/icon_linkedin.png | Bin 0 -> 1492 bytes .../main/res/drawable-xxhdpi/icon_meteor.png | Bin 0 -> 4963 bytes .../main/res/drawable-xxhdpi/icon_twitter.png | Bin 0 -> 2517 bytes .../app/src/main/res/drawable-xxhdpi/key.png | Bin 0 -> 2582 bytes .../app/src/main/res/drawable-xxhdpi/lock.png | Bin 954 -> 949 bytes .../app/src/main/res/drawable-xxhdpi/mail.png | Bin 0 -> 1199 bytes .../src/main/res/drawable-xxhdpi/mention.png | Bin 2249 -> 2410 bytes .../app/src/main/res/drawable-xxhdpi/more.png | Bin 0 -> 339 bytes .../src/main/res/drawable-xxhdpi/options.png | Bin 0 -> 3262 bytes .../drawable-xxhdpi/subscription_hashtag.png | Bin 187 -> 0 bytes .../res/drawable-xxhdpi/subscription_lock.png | Bin 484 -> 0 bytes .../app/src/main/res/drawable-xxhdpi/user.png | Bin 0 -> 2118 bytes .../app/src/main/res/drawable-xxxhdpi/eye.png | Bin 0 -> 2802 bytes .../main/res/drawable-xxxhdpi/eye_slash.png | Bin 0 -> 3859 bytes .../src/main/res/drawable-xxxhdpi/hashtag.png | Bin 390 -> 376 bytes .../res/drawable-xxxhdpi/icon_facebook.png | Bin 0 -> 1499 bytes .../main/res/drawable-xxxhdpi/icon_github.png | Bin 0 -> 4082 bytes .../main/res/drawable-xxxhdpi/icon_gitlab.png | Bin 0 -> 4687 bytes .../main/res/drawable-xxxhdpi/icon_google.png | Bin 0 -> 3764 bytes .../res/drawable-xxxhdpi/icon_linkedin.png | Bin 0 -> 1953 bytes .../main/res/drawable-xxxhdpi/icon_meteor.png | Bin 0 -> 7061 bytes .../res/drawable-xxxhdpi/icon_twitter.png | Bin 0 -> 3353 bytes .../app/src/main/res/drawable-xxxhdpi/key.png | Bin 0 -> 3468 bytes .../src/main/res/drawable-xxxhdpi/lock.png | Bin 1181 -> 1271 bytes .../src/main/res/drawable-xxxhdpi/mail.png | Bin 0 -> 1568 bytes .../src/main/res/drawable-xxxhdpi/mention.png | Bin 3242 -> 3086 bytes .../src/main/res/drawable-xxxhdpi/more.png | Bin 0 -> 443 bytes .../src/main/res/drawable-xxxhdpi/options.png | Bin 0 -> 4580 bytes .../drawable-xxxhdpi/subscription_hashtag.png | Bin 227 -> 0 bytes .../drawable-xxxhdpi/subscription_lock.png | Bin 658 -> 0 bytes .../src/main/res/drawable-xxxhdpi/user.png | Bin 0 -> 2748 bytes app/actions/actionsTypes.js | 10 +- app/actions/login.js | 30 +- app/constants/colors.js | 2 +- app/constants/headerOptions.js | 60 +++ app/constants/settings.js | 26 +- app/containers/Button/index.js | 75 ++-- app/containers/Sidebar.js | 8 +- app/containers/TextInput.js | 114 ++--- app/i18n/locales/en.js | 18 +- app/i18n/locales/pt-BR.js | 15 +- app/i18n/locales/ru.js | 3 - app/i18n/locales/zh-CN.js | 3 - app/index.js | 48 +- app/lib/rocketchat.js | 86 ++-- app/presentation/RoomItem.js | 2 +- app/reducers/login.js | 35 +- app/sagas/login.js | 67 +-- app/sagas/selectServer.js | 47 +- app/views/CreateChannelView.js | 22 +- app/views/ForgotPasswordView.js | 79 ++-- app/views/LegalView.js | 135 ++++++ app/views/LoginSignupView.js | 420 +++++++++++------- app/views/LoginView.js | 312 +++++++++---- app/views/MentionedMessagesView/index.js | 4 + app/views/NewMessageView.js | 6 +- app/views/NewServerView.js | 35 +- app/views/OAuthView.js | 3 + app/views/OnboardingView/index.js | 13 +- app/views/OnboardingView/styles.js | 32 +- app/views/PinnedMessagesView/index.js | 4 + app/views/PrivacyPolicyView.js | 17 +- app/views/ProfileView/index.js | 4 + app/views/RegisterView.js | 300 ++++++------- app/views/RoomActionsView/index.js | 4 + app/views/RoomFilesView/index.js | 4 + app/views/RoomInfoEditView/index.js | 4 + app/views/RoomInfoView/index.js | 7 +- app/views/RoomMembersView/index.js | 4 + app/views/RoomView/Header/index.js | 3 +- app/views/RoomView/index.js | 10 +- app/views/RoomsListView/index.js | 6 +- app/views/SearchMessagesView/index.js | 4 + app/views/SelectedUsersView.js | 19 +- app/views/SetUsernameView.js | 127 ++++++ app/views/SettingsView/index.js | 4 + app/views/SnippetedMessagesView/index.js | 4 + app/views/StarredMessagesView/index.js | 4 + app/views/Styles.js | 81 +++- app/views/TermsServiceView.js | 17 +- app/views/index.js | 12 +- e2e/00-onboarding.spec.js | 19 +- e2e/01-welcome.spec.js | 14 +- e2e/02-legal.spec.js | 56 +++ e2e/03-createuser.spec.js | 139 ------ ...word.spec.js => 03-forgotpassword.spec.js} | 0 e2e/04-createuser.spec.js | 118 +++++ e2e/{04-login.spec.js => 05-login.spec.js} | 17 +- ...roomslist.spec.js => 06-roomslist.spec.js} | 0 ...eateroom.spec.js => 07-createroom.spec.js} | 0 e2e/{07-room.spec.js => 08-room.spec.js} | 0 ...actions.spec.js => 09-roomactions.spec.js} | 0 ...9-roominfo.spec.js => 10-roominfo.spec.js} | 0 ...server.spec.js => 11-changeserver.spec.js} | 20 +- ...broadcast.spec.js => 12-broadcast.spec.js} | 10 +- ...{12-profile.spec.js => 13-profile.spec.js} | 26 +- e2e/data.js | 1 + e2e/helpers/app.js | 13 +- ios/RocketChatRN.xcodeproj/project.pbxproj | 4 - .../Icons/back.imageset/back.png | Bin 409 -> 0 bytes .../Icons/back.imageset/back@2x.png | Bin 718 -> 0 bytes .../Icons/back.imageset/back@3x.png | Bin 1117 -> 0 bytes .../Contents.json | 6 +- .../Icons/eye.imageset/eye.png | Bin 0 -> 631 bytes .../Icons/eye.imageset/eye@2x.png | Bin 0 -> 1307 bytes .../Icons/eye.imageset/eye@3x.png | Bin 0 -> 2067 bytes .../Icons/eye_slash.imageset/Contents.json | 23 + .../Icons/eye_slash.imageset/eye_slash.png | Bin 0 -> 820 bytes .../Icons/eye_slash.imageset/eye_slash@2x.png | Bin 0 -> 1886 bytes .../Icons/eye_slash.imageset/eye_slash@3x.png | Bin 0 -> 2886 bytes .../Icons/hashtag.imageset/hashtag.png | Bin 142 -> 147 bytes .../Icons/hashtag.imageset/hashtag@2x.png | Bin 224 -> 227 bytes .../Icons/hashtag.imageset/hashtag@3x.png | Bin 313 -> 307 bytes .../icon_facebook.imageset/Contents.json | 23 + .../icon_facebook.imageset/icon_facebook.png | Bin 0 -> 498 bytes .../icon_facebook@2x.png | Bin 0 -> 775 bytes .../icon_facebook@3x.png | Bin 0 -> 1104 bytes .../Icons/icon_github.imageset/Contents.json | 23 + .../icon_github.imageset/icon_github.png | Bin 0 -> 914 bytes .../icon_github.imageset/icon_github@2x.png | Bin 0 -> 1997 bytes .../icon_github.imageset/icon_github@3x.png | Bin 0 -> 3032 bytes .../Icons/icon_gitlab.imageset/Contents.json | 23 + .../icon_gitlab.imageset/icon_gitlab.png | Bin 0 -> 995 bytes .../icon_gitlab.imageset/icon_gitlab@2x.png | Bin 0 -> 2209 bytes .../icon_gitlab.imageset/icon_gitlab@3x.png | Bin 0 -> 3435 bytes .../Icons/icon_google.imageset/Contents.json | 23 + .../icon_google.imageset/icon_google.png | Bin 0 -> 928 bytes .../icon_google.imageset/icon_google@2x.png | Bin 0 -> 1852 bytes .../icon_google.imageset/icon_google@3x.png | Bin 0 -> 2844 bytes .../icon_linkedin.imageset/Contents.json | 23 + .../icon_linkedin.imageset/icon_linkedin.png | Bin 0 -> 595 bytes .../icon_linkedin@2x.png | Bin 0 -> 998 bytes .../icon_linkedin@3x.png | Bin 0 -> 1492 bytes .../Icons/icon_meteor.imageset/Contents.json | 23 + .../icon_meteor.imageset/icon_meteor.png | Bin 0 -> 1258 bytes .../icon_meteor.imageset/icon_meteor@2x.png | Bin 0 -> 3082 bytes .../icon_meteor.imageset/icon_meteor@3x.png | Bin 0 -> 4963 bytes .../Icons/icon_twitter.imageset/Contents.json | 23 + .../icon_twitter.imageset/icon_twitter.png | Bin 0 -> 774 bytes .../icon_twitter.imageset/icon_twitter@2x.png | Bin 0 -> 1591 bytes .../icon_twitter.imageset/icon_twitter@3x.png | Bin 0 -> 2517 bytes .../Icons/key.imageset/Contents.json | 23 + .../Icons/key.imageset/key.png | Bin 0 -> 787 bytes .../Icons/key.imageset/key@2x.png | Bin 0 -> 1760 bytes .../Icons/key.imageset/key@3x.png | Bin 0 -> 2582 bytes .../Icons/lock.imageset/lock.png | Bin 408 -> 351 bytes .../Icons/lock.imageset/lock@2x.png | Bin 659 -> 658 bytes .../Icons/lock.imageset/lock@3x.png | Bin 954 -> 949 bytes .../Icons/mail.imageset/Contents.json | 23 + .../Icons/mail.imageset/mail.png | Bin 0 -> 445 bytes .../Icons/mail.imageset/mail@2x.png | Bin 0 -> 853 bytes .../Icons/mail.imageset/mail@3x.png | Bin 0 -> 1199 bytes .../Icons/mention.imageset/mention.png | Bin 618 -> 709 bytes .../Icons/mention.imageset/mention@2x.png | Bin 1462 -> 1580 bytes .../Icons/mention.imageset/mention@3x.png | Bin 2249 -> 2410 bytes .../Icons/more.imageset/Contents.json | 23 + .../Icons/more.imageset/more.png | Bin 0 -> 147 bytes .../Icons/more.imageset/more@2x.png | Bin 0 -> 227 bytes .../Icons/more.imageset/more@3x.png | Bin 0 -> 347 bytes .../Icons/options.imageset/Contents.json | 23 + .../Icons/options.imageset/options.png | Bin 0 -> 987 bytes .../Icons/options.imageset/options@2x.png | Bin 0 -> 1937 bytes .../Icons/options.imageset/options@3x.png | Bin 0 -> 3262 bytes .../Icons/user.imageset/Contents.json | 23 + .../Icons/user.imageset/user.png | Bin 0 -> 599 bytes .../Icons/user.imageset/user@2x.png | Bin 0 -> 1391 bytes .../Icons/user.imageset/user@3x.png | Bin 0 -> 2118 bytes ios/RocketChatRN/Info.plist | 5 +- package-lock.json | 117 ++++- package.json | 3 +- resources/fonts/icomoon.ttf | Bin 2084 -> 0 bytes 235 files changed, 2150 insertions(+), 1066 deletions(-) create mode 100644 android/app/src/main/res/drawable-hdpi/eye.png create mode 100644 android/app/src/main/res/drawable-hdpi/eye_slash.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_facebook.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_github.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_gitlab.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_google.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_linkedin.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_meteor.png create mode 100644 android/app/src/main/res/drawable-hdpi/icon_twitter.png create mode 100644 android/app/src/main/res/drawable-hdpi/key.png create mode 100644 android/app/src/main/res/drawable-hdpi/mail.png create mode 100644 android/app/src/main/res/drawable-hdpi/more.png create mode 100644 android/app/src/main/res/drawable-hdpi/options.png delete mode 100644 android/app/src/main/res/drawable-hdpi/subscription_hashtag.png delete mode 100644 android/app/src/main/res/drawable-hdpi/subscription_lock.png create mode 100644 android/app/src/main/res/drawable-hdpi/user.png create mode 100644 android/app/src/main/res/drawable-mdpi/eye.png create mode 100644 android/app/src/main/res/drawable-mdpi/eye_slash.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_facebook.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_github.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_gitlab.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_google.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_linkedin.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_meteor.png create mode 100644 android/app/src/main/res/drawable-mdpi/icon_twitter.png create mode 100644 android/app/src/main/res/drawable-mdpi/key.png create mode 100644 android/app/src/main/res/drawable-mdpi/mail.png create mode 100644 android/app/src/main/res/drawable-mdpi/more.png create mode 100644 android/app/src/main/res/drawable-mdpi/options.png delete mode 100644 android/app/src/main/res/drawable-mdpi/subscription_hashtag.png delete mode 100644 android/app/src/main/res/drawable-mdpi/subscription_lock.png create mode 100644 android/app/src/main/res/drawable-mdpi/user.png create mode 100644 android/app/src/main/res/drawable-xhdpi/eye.png create mode 100644 android/app/src/main/res/drawable-xhdpi/eye_slash.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_facebook.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_github.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_gitlab.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_google.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_linkedin.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_meteor.png create mode 100644 android/app/src/main/res/drawable-xhdpi/icon_twitter.png create mode 100644 android/app/src/main/res/drawable-xhdpi/key.png create mode 100644 android/app/src/main/res/drawable-xhdpi/mail.png create mode 100644 android/app/src/main/res/drawable-xhdpi/more.png create mode 100644 android/app/src/main/res/drawable-xhdpi/options.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/subscription_hashtag.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/subscription_lock.png create mode 100644 android/app/src/main/res/drawable-xhdpi/user.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/eye.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/eye_slash.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_facebook.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_github.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_gitlab.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_google.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_linkedin.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_meteor.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/icon_twitter.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/key.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/mail.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/more.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/options.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/subscription_hashtag.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/subscription_lock.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/user.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/eye.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/eye_slash.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_facebook.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_github.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_gitlab.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_google.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_linkedin.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_meteor.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/icon_twitter.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/key.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/mail.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/more.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/options.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/subscription_hashtag.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/subscription_lock.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/user.png create mode 100644 app/constants/headerOptions.js create mode 100644 app/views/LegalView.js create mode 100644 app/views/SetUsernameView.js create mode 100644 e2e/02-legal.spec.js delete mode 100644 e2e/03-createuser.spec.js rename e2e/{02-forgotpassword.spec.js => 03-forgotpassword.spec.js} (100%) create mode 100644 e2e/04-createuser.spec.js rename e2e/{04-login.spec.js => 05-login.spec.js} (83%) rename e2e/{05-roomslist.spec.js => 06-roomslist.spec.js} (100%) rename e2e/{06-createroom.spec.js => 07-createroom.spec.js} (100%) rename e2e/{07-room.spec.js => 08-room.spec.js} (100%) rename e2e/{08-roomactions.spec.js => 09-roomactions.spec.js} (100%) rename e2e/{09-roominfo.spec.js => 10-roominfo.spec.js} (100%) rename e2e/{10-changeserver.spec.js => 11-changeserver.spec.js} (79%) rename e2e/{11-broadcast.spec.js => 12-broadcast.spec.js} (94%) rename e2e/{12-profile.spec.js => 13-profile.spec.js} (83%) delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/back.imageset/back.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/back.imageset/back@2x.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/back.imageset/back@3x.png rename ios/RocketChatRN/Images.xcassets/Icons/{back.imageset => eye.imageset}/Contents.json (72%) create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye.imageset/eye.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye.imageset/eye@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye.imageset/eye@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye_slash.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye_slash.imageset/eye_slash.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye_slash.imageset/eye_slash@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/eye_slash.imageset/eye_slash@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_facebook.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_facebook.imageset/icon_facebook.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_facebook.imageset/icon_facebook@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_facebook.imageset/icon_facebook@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_github.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_github.imageset/icon_github.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_github.imageset/icon_github@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_github.imageset/icon_github@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_gitlab.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_gitlab.imageset/icon_gitlab.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_gitlab.imageset/icon_gitlab@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_gitlab.imageset/icon_gitlab@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_google.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_google.imageset/icon_google.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_google.imageset/icon_google@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_google.imageset/icon_google@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_linkedin.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_linkedin.imageset/icon_linkedin.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_linkedin.imageset/icon_linkedin@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_linkedin.imageset/icon_linkedin@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_meteor.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_meteor.imageset/icon_meteor.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_meteor.imageset/icon_meteor@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_meteor.imageset/icon_meteor@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_twitter.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_twitter.imageset/icon_twitter.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_twitter.imageset/icon_twitter@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/icon_twitter.imageset/icon_twitter@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/key.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/key.imageset/key.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/key.imageset/key@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/key.imageset/key@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mail.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mail.imageset/mail.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mail.imageset/mail@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mail.imageset/mail@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/more.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/more.imageset/more.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/more.imageset/more@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/more.imageset/more@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/options.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/options.imageset/options.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/options.imageset/options@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/options.imageset/options@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/user.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/user.imageset/user.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/user.imageset/user@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/user.imageset/user@3x.png delete mode 100755 resources/fonts/icomoon.ttf diff --git a/android/app/src/main/res/drawable-hdpi/eye.png b/android/app/src/main/res/drawable-hdpi/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..1305c09e67d6adb376a2d86a29d7a2ed87914ca2 GIT binary patch literal 966 zcmV;%13CPOP)L2cTVTr-P!Kmu3`@n$PU~+ zGw0{~&YbyM#$qj2ftgkTKAj0wR#rOt`Ugv-WLwbRjo)(MJdI*Gz-JV1@be47?q)8{ zxZl*&q?2u`HYIUsX=&1jp&y5V@frq@J{3^J#`$~Bpl)I6oU<)0Eh7=Vr86mUw!5f6 zO1KFO7O5C?euw>bCU`FgPBUe|A&miB4UDbF0Qzwe0(Aeo=Pb?)%^&|VHAC`4RGcjto_X1g=D*a=K;z)Gw#^nzar zbovf*&T%fGCRB%{(^GUzk>U&=I+7jhtfb`E*5>^#fTaS+i@F}{apo3Y_jt7K2(){xI_ucZhp-5funi94!e$T$H0=wf zv=i540(W(mKJfJdmL)1nIx=X#VI@;zvRRK6VT7<)7GVh;49$ouXz%8RA*K%<$ZWoY`xKNT{^V zgm!OuBjKL-^8yLk$8RCt3IoUH0*N9HC&MgPCf1xcgM-xtI(+wVcD9?(NII`*GuK%S z&aw=#ID${_%2dQ8CwV0L7#DcyLodEqpU4kiq6PSy#XuHdMwz6ehROc@BM}N^?7uvV oik#%X_#CuL1!I$=(R_~3Z~y=R07*qoM6N<$f>LI*{{R30 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/eye_slash.png b/android/app/src/main/res/drawable-hdpi/eye_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..61209fdd331349d8095160cc77c7821b2bc26062 GIT binary patch literal 1384 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/icon_gitlab.png b/android/app/src/main/res/drawable-hdpi/icon_gitlab.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6c68bff6c2e8954ed4dbd72f9ee1802fcb25b9 GIT binary patch literal 1589 zcmV-52Fm$~P)#7kSY&|(Ya-rY05|D1MC&(5AL zrSPEVW#+$s^Zzsd%mMhne7$RHR`<0%Pfclw^Yh~i=-SBT^*|Itz^D9-rphBCB!nl~J~A>y>-_xq0s^3? zl`=b++r7GWv7g~oc*&N;QXrV6Y$bpb!}OB{=v;Gs9xJtKMFiNW=XW~V(sq3z!8&^G zv54t23s4&DHUgODDk9yrvT?m!Uj!6O_V%~9amFTDfWVd+spPUP=xwQOFb!{)POhz6 z#2_lXb`mfnmXc)vqPDg$XXkORku#T>AhYC?VAz!HgBQD=UTg|_%`*Tc?e1m_vx8G!s&F{(^8$>v0r*YI}cJ*{>1oQ;M4Hkp}o0XeB7 z+~98nkd|rpgyho6$xmelHT0gKO`9yua{=}Jd2=NoW_*3^_uq+`mWB_jhtizf67MOaMV5%Nb4An4q^JlsUBa0CbG8qG7EYMP{sUObNz zu2$>nF&39yh>-I@U=;p<1XRQB>ZNS6-zgd2z8i_40BRtG0lcc6nWGR`6AVGpFVAlt2tuDg|NSP4;1JD#M@&0aHUT8FZd|?u zgH%Oj7=!`Si1(VvE0SF%-=t%ubV`-jOV@P!?aQ@oD_f3Kc!;rZoM@{m(G5oikHt_yOp~pW)p2 z22}E^1J>S41F$?xml*|R^kb}8y4Qiy5i@b0oI?+r`W*8j@3j}OmBSocdH) zqLHiqi{|MODLsm%CYnp9_p^6U)P@c%ks+@Dx1Ic62zH0?rOW3=<}|c1MqV7U zj&7vTcK;-3J~vno7+(JuBE%)i0YIAf<>~jvW?-u_o?W zA32SU8=Pu%`Ed?A_C=>li#O{CB;*h?OIW^Lgo+pAmJ>&{&aK8tmCSUK-ch-k-%=mo zWjsX3p(%Mn1Q>{%S(Qetfddr71oxKbvAyea)Am;MlmIEGw6nUxmU5Tq0UA0ef(+0u zXd)ZRi7YGBj$4oR+$y-Ae9|Q|jj{d2-&Xm|6;zJjM(4;2(Q+8Xa`?syHLRQ}7&FF{ n>C~H5OX=;}2dC`dzijv~;p6g;bmLzT00000NkvXXu0mjfr0xbF literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/icon_google.png b/android/app/src/main/res/drawable-hdpi/icon_google.png new file mode 100644 index 0000000000000000000000000000000000000000..c84a47c7693e5dfe92a26362861901393b4c9bd6 GIT binary patch literal 1378 zcmV-o1)chdP)vNk$5?T9b#JN@vW$ASxh%!ziba1p(69G^E~aBA`cv zQ7kBGU=Vg>cl8|)7tgd%dBa-#DiCa0C||hd1m_ui6H3?(V7`XSR3wj@iz=0JWw+>W zXt7|l90AYJh_xu+qrfi!l&}zhSaa}xPFBx%+QvL@I^)avSjhtlDW7nP)r+Z&h!W5; zHFx5@2w)spwv zy^W9O^W@vC#N5ZRqhm5i8AE};LaOB5P6%>h*;Pn>`Y%8WpJ(Diydgu{=6HkA(#-=> zX{X3Gp{vgm*IR_EDjaC-niM?^3u&biY242IiLME`a%7=k-inen_v2 zCqKLG74=TTBxV&-H(%+*4=%b4^*Z6B4HF@EoX*UU<qD6(~-JL27XCG>$%R&%DRW&b27IOg&i;zA* zGMYjILa9U;$B_<-*t5G#mM(!JMDui-WcA&NwPn^*cO`#aaWw2sS=+@kz|Yd3#3ya z7WQu_O*-OtVkXG2sAcPGD$!edBO{)Bf1caWgfeuS&E{(})5NyO9%kIR|`iNlC6YiWgKNVN}{` zOY{=)ha$!FL($~E=Ukfe%}uBFp;P42(~y8PBdvYKZIw0rOdaIKzx$M)&3Y(bl3s4B zZ1du0O@0`Kd~dn>vb3M7SH3FW$@oBl1TlVKU{`D kHud*zJ=U+c|KIZe03J)i&-ed7@&Et;07*qoM6N<$g3dRR5&!@I literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/icon_linkedin.png b/android/app/src/main/res/drawable-hdpi/icon_linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..93708032ce83abab60696a426e2da12ad96a3ba8 GIT binary patch literal 797 zcmV+&1LFLNP)x<0BTd7rnG1DB432AM~JN z+M}`WRfyPHeC zFzn1XkMG+*GqbxR;nIUO$f|ds;sAgeO7=sN5`a1aS?W`e!Ci82#C{h#MOCe(Qa5># zWk~4KRh2eNUSz0hb!lDb)X9siD{@(h7?$jWA`+{uRB+?42gi50mJK}$PU52P9TKUu zsJW?}(9o@;?Krz8TNj5y(Op@QnH24_f?Bsc`Z zjAzMeaE4NuEPN9YPS-y%g(THk4bBh~?0X!5?{kE91lm6-4U<7Hadtq$`THa(Mx9fk zRVLwAa!K640#>-nG@ai`>zBEvrCo)FdbYQqwW&dCvwRKxoWszE$s9M(=>}Vodfa~f z1+j$`_HSGZ@7^tFZEiqgtrN5JNsLG1c=-MsUVM$}yKwn}hI)3i zL@?FRu;7jtmNE!V$2jfA8XF8n=N36(M$9DsaD07L1;;VM)CkR|#E+OHO>!d&y*QX^ z$SC?h<+7n-Q7cEN9HC+nC{{0gmW_sIxi62vkJ-Gjo_z|Vg1*)C2*>FVLx550YkZkA zj;D27@ts<0Wal;i7VT6nphd?qlK25spo66}d78W^0 bUi$w6Ehompf9im?00000NkvXXu0mjfN`G(} literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/icon_meteor.png b/android/app/src/main/res/drawable-hdpi/icon_meteor.png new file mode 100644 index 0000000000000000000000000000000000000000..1d793b136c7635545fc624a335164189e815bee5 GIT binary patch literal 2170 zcmV-=2!;2FP)upaRIIuL?(BN}|BH-hicA1lYDb{0d5_LT%yWQJ_lPA|W zDKBvRp2nhJ%! zol=ywPI|wpUgNZ^Q|1$``!(%Kfa(IMtDTDYD#6?2Ocy<&kajp6p5v6isI^l$mC!;x zs`_SMIQ&hgQqX@2_w6)Sttznd;O;wnH0{fFn%UTh5d7#dE~p0&9Jpdg)27?E1)|X& zm&datm&@%;g~LCv^D5%;U4m)8ob2!4V}F@}SZt%1POs>TM808{?~g>jXkSk>9|!33 zvDnZ#!?h#69qG#{C5#IBM9g^ry}gxfWraVH{?-1G(vmaXeLh+7yIpShHG=#r{p+ zaD9F8$eAFcy0(o6FVHD&y#h#EYUN z)#HYb0rWj~p6u~7;^5c8do3A>e2cu9+qV6;(BruQv37@*Dk|FAdL_4eYjS94vom*1 z3W&<&%F25U)4T+ksbDP2MbBKUU!N zRvV&tD=fT`?qXbuF4v}WgM$gAmy$6Z)?~7;scGJ1I^8Bn(yoeFY^z-kv9S_>TLA7! zdEUI+#O7v$e7@AvnM?hL-!)jNV+3ag@>E1wPyosiQ;v*gqrN`j=?g8ND=#CsrAq?i!u`iHLT(~Y#3MD1G=}aZboi& zv=ayHhNaeVvo!$pK`6W%>pkL(88yKzTh5WkOrOnUy5J%i`+kGG^*ho5@cW3Vy{0I> z0RW3xxJl=j5D*!Bvf{|d^?|mw81o8gNQ|>^a2Iag5vZ!V)pAi@UR58*!A+3uoL*A0 zxODU8Q=|jb7c%K|7p7%!RSPWgOX|ZV6o86i&)cHcyD+HhM=3ukATpVK&zv~1JWyKN zVm(jhCnU%&ApBdfyu4m)Y59P%3{)Jl6_cB=e8VeA*UgE=hRH*Hn+JL){#^zz+hxDM zf%-tdSu~6-uwK%IbTKy`|Idd4qB3UR4@O7V7L=9!dUk8;C~5tQ^0llW(0%`eHB`$Q zY=IF=I>4z=e9%=`xM1#c&kb-7(+6VbCGZLXYA^b(8tQ}lZU^lV$R9OviH`(CWk(dH zJS~bFq@tpx!1nDYNMj2E_qD@P2Yp3Fi)QcG@jmG+w5V;nVT}b)o(C!ZT~N36LzySq3r{pvHAdrn$<@<=XT4gftXQ0KFH=XF5v;GVpv_ z0VhvKMt%W>^(WMWi~Js7AK@H4zmd(pn$oo3lmIcs3tsQLY)f#c7)T^`!xgtf)e8Wn zQYU~uC`r=8pfk(wMtt2!I?Dl`G(o+GWr2{(MbRTMH3-P`cY^+B&M}Hn8!rdQsSn1* z$#i;ou&nG+<`D$qYTRxkls2N^Zl)&0)Kj4S0yNgOl~#+wz8vw_Nh{(|{$^T9*Rd+3 zGMPp^j`vXk^p6FI2eO+yd-m))uit;qg*?)XL+%5ByK(p*E*!86v@qonD`O>tEo~NE z0I0=e!9D8$>H*HJ@v#AMBitmzH4meJHo_&xVU-qGWhD;SfCKKj&>`%B=zPlCO9o=- zT4d*a09;5O0Njsm;6BbdE(#Dg(go<5|AZ1zdu23w1R(zcay=A2ga0R3eoPPw^DT&J zUPF0UaI9n?5iWv16S#y2jCT;=U!n}hl!E%a==i_*HS#uI)~_;#@lsz+O)ywh)d1zs z!*V}IOhnI2o0iSDAjst035(RFhK3UC5E0CKku1XizYi~#k7I0Hw1q4U{IzQOe21BB z+23T->3sloEx>i)=JUt3AlL-=tzsW#?RS1ZF(9YH{7cMa_QNCv6^X<=^7Ac7Ci4nt w#cf7s#w1L>F&|INK9J^%m!07*qoM6N<$f+rLz1^@s6 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/icon_twitter.png b/android/app/src/main/res/drawable-hdpi/icon_twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..4b057eddf777b2f032478ed1c5244a6cd0e401d9 GIT binary patch literal 1209 zcmV;q1V;ObP)?7G^ckc1b ztUJxj&TMB_QxJP$cJ6uJZ@+u*xpx3AwEq|bxEy%3@j^T4#Q`MP!ui*lV<1ffh@=vL zccvdue|3(ljb%I2(a4kqNZXy?*uAp(gNc6BozC^hS|YmxBt>C2lPiQpC!3_^<8 zxkC>DUOAraF#)mRYAX@Zw#oV2#QG$yvUEN=I>8&j1Nm^ZT$q_61N%e*yq+m!XQUK4 z6A=G67@_;Kh1`@D&u+D%YjoP<^BRM>riP2FiHQiZ;URwRM8wBavGCC{LyEBj?2U*n z<0r|W_Lu|O%{Hlodaq4UhrrX7VK9B^SR`qLnScP*j}7|V@-V1PMJi3V?#}Et7~`p2 z;pW%4PCSv0sRt_Y)||J-b0a`_AK>UroJ&7Gq+=5X?hdTbWHu4x8LEVhV#+qFq6%5-M+ zDI*APKtD&rUkaoh465Wa-#>Fh$Xy-^A95zK7%~j0Sj&h4xRIwX<#b#I`K>Sdao(BN z2FNfH;%{8F??Du=Fk4jt&IFCfoPR-}@|s($RTwQJ$wws7V~rL%D^INs!YCi4zqq+n zF%%Ta%ge=#34o6tF2FCifiZMdfPRcNp8$dPF|D@x;FX|mJ;CtoK=`CrTooY0aW<-c zgaPQ|#r?fkU_*MuH)n@h_STAZ1!M%I9*i994n@}U;vQsiluyuOwGy4n##Q+h>cyx?cdDA=q}1LdF5t^%VtA|1h@(i+VdR=w3;17jOL@XMkUsS;_F8dG6s@ zc-QlYd};F6uzf6lQ%TB~_@rk5|4!reGA=^6bEaRlT`l}%x2CKuk-M7<;-h>Y>ihd^ zz)!s8!;JjF!d@;UBk5?%=a!+)js>U^*OAPwSt!6}{*t?mkN$4fUsbW$-sNlSPn_T| ze;Q9*(%F2#?>e#NaR^m_9Co-aPT?FBR!c=+C3UF^MdTy|GLc}@iSPRPhIyg=-x>G| XOCEofN$SUc00000NkvXXu0mjf(V9&V literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/key.png b/android/app/src/main/res/drawable-hdpi/key.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9471db3e2ee08669927291d483116ad91cd018 GIT binary patch literal 1310 zcmV+(1>yRMP)N~Hdq32Cc=tc$3W<+n;4hOI3xSu z2NR>lxGyHgs2?<9{I14N7{f<16HEwG{)P=K3>Xv`L;)oP3ge$sL`NrP0GFZoZq>>bM86kJ^=owA*aGyRaGV1GI9^n!dL;~Hq8b#4lkY{(dw>JK6W;ixBhRgH*>)D5oPEh0*36rz3y0)^kFxzK_HIEXT>pDgI$qZvAixSI9jSfI8)*lBmw24eebiG2X>#7i3E-rg2*94Xziaa1ow`S%J zX6HHxaf~jxJS!)6a(ThOV+4!yvr{>Ta(fZQi)3pDReK>PFaNv6x#?}+Z>pW>&|j}L zZGf_s&r(uewg~Yaw~T=*DLG?b*MgT6o2_=RyM5M>J4-y}Ax&+fO4~=ZF|VL}#^>w! z+0e(&TZmcda(S{gK)XWiVkc!JXIlXj=pTS7sup)jixgwpjg6&sU1q*ZU!033Ps){y# ze)-!?ZByyMjh0u$`{`0KWlf!DmK#yZU3XrV+;ilC6tfZnuWe6iaRpvyHRVb4=Y(uaeW*l&Zf# zR?gk*>$q;57i}j)lHxo(;Prw0tz~7E z2Mql^M{FFx^KnNLW=M3p6CFBgkb3F6d6=J@2#R8>5k}gsY&*&$|{Glhm zeRGRXJI|ljKPbC$)iE4&?d~B8t(Xgn{xxo9QtE<_NOp)S{7-q0wTOFv*NM%logHIR zYO6}4ts-xAtk?ImURv<`^A6|NYC@Z!h-ttPBE1_+dOzo22gR5s8rat57hA35pFpny3{&z{=WK+SuNW zJNL@5-rV7aWE(Cax3l{_nD2HM;UCYxl3T;2yQl8*fE;r)ZHo z&6*;jN*TKqsBG7&&Km!C%yYcPTG1c$ClOaxugFVEB#bxeR0)3(VYAcno;A)))wAB< zVWhep646Fz9&z_IY+8y@^F|5+f67SiMw!-gOj98qDDwjaoidnf$8qb@e})sI=H1KW z@FBP=Gi6+eQP_y263c2NlkrXxfD;g_wa!#RI4c>FvIg=VT z)zG1`F;Oi6d!F}`jLY70*o=nGlZ|!cl51lABBAI<3>x&sxXUjKwQ6 z8%vs%!9emzKf96R< zK~zW$?Ug%A13?hScQzLbA%#K;K`g{3jg5+xwV;ULBc{j&(+G-w0&V>ULD43Xv+!Ms z*b9PiHWo>vDQxU41@-R6nbSSid-#HME+jjT-+yO!?giqTVOhsrE;uXb;Wz^HG7gAM z0dQ&vqhgxV4__?-UnO^}y|RZ;e-Q%P<2iVefXnk{p&Fm3%_Jputb;`ly$#L-fJ@Uk z{cQFHiXl>tB4UbN336%P%x|(C9#dnY;P_4P&|8npVYfvIAtG;^hkYqg_c2i#p^ z`iOCibh^J(m}=+@+cF$r-+g&m^A{KJ+y*ciUYr?@agNUS%&f2BL})|`f7rI2MgbE( zC&gB=n6HO4f$Qgp;Q(t`8zeuBNP&92*-d!nJr9>*LDW|aX5O`*iAVtlybgsJDS4;t zq*-Tlt>PmEq?Eyh_dE|3m^AB*u2p=nSk*cl0f9NX{d!2W$^hM-X9PSdIBupLbkglQ z#yKjmP8Z{zu1BM6&R%fLe&9bIDBL2VSRf-9EY#c}o@A(v(I&Tv@e4#+lqCLZJUD?` zfZB3hHs=PF|C_mL?b~$f0bSGb6Z{v@+Z}8FwsskazWq4Pi=b0 qvSBt-00s6C=zm1Q@L&9vx9ANo!KkGEJM-TA z&S!ow58$EP_Z46|VA{%;fb$$Mmel)OZX?zqkvO&wcDGe5UpQ@!EhFMfHH4z7q)8 z!>*m_$intvWwXOD@(kEFIuJ>k#2nG@H=|dSoby!@?WOzji>}Xr`EG!JG2RomP zM?EQWUZ7u2!OSrFOs?=!Q3_w0@Omd0Lv&|X#D7qc*C}X(`l=fnS5(amTZQ+o%a>^B z1{(Ae8LRlF%P@XkI)4^9x|4upDJX%xZ6>Is0{2)As`?f^!K2Atr*`T5{tAeb!Y&G> ziYMx(#JZuP&yM8RILCK_o+y)XDD`-eh;@hB;ci9keOyXCPGn-;Nzv2H`(2|FX(h_jFkj{#C(|^KR)AGIbL_nlKV&HC5A2qdqnd~Xe dhx-1mzzva21A=lN1bF}e002ovPDHLkV1i3pG}QnA literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/mention.png b/android/app/src/main/res/drawable-hdpi/mention.png index 637ac5dc304b7c2d43bea4572337e4ced4c144c2..1049562e765746dca04b06238093a22cb60dd9c7 100644 GIT binary patch delta 1094 zcmV-M1iAaw2gnE^iBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpJfB#8D zK~zW$?N(iAR7Vt^nX7lBiQ>N|R;Z|f;)9!LvM6Y_N~00u4^$LDf}O%rorfA$+AMYS}tind0YE@{L=->di|m1=)ks=tze<8{fn z5c-fYW(^$sMV#lPl$V512Q%p)Q$%M_JS=cBnJjzJ6aHk3*a3@vT`5Jc5wa8e$9XTa zr7(-2GcLb3(D}7;TE*`6_V&KKYzQd|ylh$HjGkQY1z03#1!tX7d56`Ee+d_Fx3#@? zJuPl-9ios4d+|z+;PIf7s+wNWP$=?(!121}$8qzW1XV(Ax|8l`D+E+bR2h^N z^yp&%`VN;pkx5_MUQ^$&PiuV?DtPB!?S}=YT&DxPJ_HJT(aH3>=e708bt0=DgvOjP zMt{$TJY~qx7p^XC>4U!55$+lJNW|>ZH(|CLa$kAg=DVrjv^A)$e`{zCjb^dY>J|F< zPqOIarNW2_^9g3XnA71P~5k3^gky^T=vanoK_FO9jFUTw_JRkh$C2$4F`T6bhZo5mf@a-lt`?a>7J3N46QVcyhN#! z+NGqKkIT%%tNO>vNF%`f%23GJ%P~lvi+w7Ee8TGO3v(x3e{k}BI(G_cG3p|+ui}Xn z{k2kGzp5HG4U{V*?vdIRNy}*43C_9@T@`NrFW%{OWN0~nr(pkZa=EuK2!eMOI1(}Y z3`K%Z8*Yw)&)I7gIW|4zHQUIMx<)?C0%bhItlLO%g5hifDfdcx+gwokj6_Vqr;f}_ z5WJv0ziO}FfA(zz@IqYZ{`j%6-wJ)9h5!$MkM1KuA0JzTsdN=5m3w=zPx0%bg*nH8 z@21_={ZzhS#B?^&AAxsIvvWJsSMQg4k)ptKP|B|l98{r_Yfz3atG}Ezr?s^;R|@#B zz}7*@KYL@m)tSG7z}gK*O9HkI3jW@rm88&rkM#G}9QyoB|MLvI2P*yNByA$cEC2ui M07*qoM6N<$g2V40i~s-t delta 978 zcmV;@112-OE6iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzKe~d{) zK~zW$r4~y_R8jPt`zDppY*mzQGVHU?%-3>_kZ0>LrkeN0WN_8dO^%e+VbW*F%1 z?#l{b)>GP zvxhTBwNYIMMb<Aj{D3`miq zkvx}lSr+aQoDzXZw+Li4e*zh9r}cZ%bc+Q~$xmRxwRPO7XQSuC8cvI}$V%M= zwsk7$b7@8CmKyg_?wI&7%0b^ILO$x8vQ&=z1QwizP?O;%GL8x?O%drl$`{=(Gem|< zS}}f1TBdaq511b|~1M z99FUGR}z#PHouG)@sOE>{M&yk&?22P&LQ0`o6Wr^+os^I(kSy=qQCm1g z6fK_YmiUoA=Wdwfe^g!Mf@a4l5lC=aQ$0Jv>j=`BFP06`YO`=@#CK@cu?~Kg*7CS3 z3Z07VHszxErPvs)heRcYIleT;zh*d(S469_tVYn3p()(VnaOgw)J`+WEgfF&f6C{O zixQWc7$MY6?B*(`afuE|HLOg5`%{1PGp22wNyn=mclm{7f3FHr>ht-MzyI)`)Cjpq z@Doto^SF;b6`C<1Kuf3hp1A`Mmb~mle!decj9eCMZIp9Y%UkiLEUx*4mV%E(AVO_D z{TnGT?Xxc&S$>K8X(`HucZLB$n2TpB(7~Ot-!RN^WugwP<87JCjj@mUCTosW7+&E| zJhKeg42!??DB;0>8L$n__1S_zUpbAVi}`H%3+ZXVbfmRhSpWb407*qoM6N<$g7N~; ARsaA1 diff --git a/android/app/src/main/res/drawable-hdpi/more.png b/android/app/src/main/res/drawable-hdpi/more.png new file mode 100644 index 0000000000000000000000000000000000000000..b92f031041343f17b04490ee73d5ec0f5b36362c GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3Ea{HEjtmSN`?>!lvI6oLaYm<%uY>LE311X9 zPi)CN!t!g%zd|47{XJ6Ml1vAFTxEUK9I&Q)Ws{py0C%H^gpA5@siMuomSutK*k7D) zvX*Cf)NP;?u#65z!jf7}r=5ffb3Z}DY zZbTvBZ&CSYm&YnloT3JbY*u>k0Wf>Uh3CGATTtv zSer<`kDlEigivZ}xX=c^eri!fzuWB|DXc43Hbo#7i_IHPrnZpa%>ZsI=eWkYltTRF zESvhS-ERN88Xr{?2t=b^J*5u_L3dT-xGo*$OU%kM-fqWlmHbpS{DJU^=d`4L=!Sro zh=rIZbnT!o5ZzQa0e>*ML({Zx;b?XxXAQ2m2-0`@g5jMASGAPyvLoONMc&kf{&p$j z8zIN2Z$c-2T&k^-bHE=yu}bJN<{Puhlmbw#Tw&hW>v8QW)GtaP6pGoCLOYIFY%4Ul zS!FDi|7sIp=LXTSjes?p0mwim!OTKK=UO*;?9Xl z{ncD#c_Ad(#V55>Ag~};shRQ!r7@d@mpGly^AcBH2*oE;uQfAx2^gU?H<6-kGA~nh z1kn4|ctZOZDz~Jon)fe2CuiF%?Ko~+%8tN9ik8m=@UmM4QA<1_R?2*q0BPDPn#&-7 zyK0Ra7f-OlTX8k)C!FEUbOLPtLKwV^3(RL`?DBMR_qIp@PJA_PTw=i6?cO1M_@mK1 zdXf&n+ugEUHZc!UtL6s`XgvJa4h}$bB?53$= z4_Q7IpZq-wyKrF~VAq1gS5jF{@;;C26_lY$6b=tL^ois#fUj}!kY0>*0`lQtXt~H9?!i&1;XLgcy0I2C3SI^ zND1wa!C>_9T%Ex{^aV|$9}%vza^>~pMT>ICAh2}l(u-hoxE^Quw&E5hu^;bA>!jQt z3~#}{`315ipGWfTE0=(GsMl^kWe||+XmC$uv+6alI@xqx|K1k}@7D!=P`zb!nu2&h zYGw&o6k9_HNau2s!(?3{^9@g|7+TwquCoMWL6G{E z{5E}J>X$2=#FUmOP^4^W2S5;+jT43h~3jR(yVu`DRISfx$_4b0MCh1i(~pYqf2_<`641 zxEW=fdCs&bbJpRcJ6YI%Q36t_v$ON6Rk5wY7FX48RfUclRYuQWR!Cjrb}#v-n9q^~ zq_W%_aLek$x*I5FeBEVCe_Gi3P`RIAF*=o#@7%doI)7o8yu4J_Zj1)P_@GK{&w4!f zUM}acDgx30z_TwDeH~|}Z8#3kDd)7FIsi}Lobw45l5NOWT+XW|kO77JZ#%A#+p!J4 z2$}J!k*TZa3$W-H`dYPF-s$P;I#aDL(*!b(L!pxoq(pK%#%4`@BZ9XjrhO`@?|D4- zP{x0?-nUMVs@&3x-7klUD? zC!x^rVx6@P5<31{#dvROC7s7v5m#|9ILj6u>2)}8@?|~Ow$}XrpSduky*Nm=00000 LNkvXXu0mjfBl{VX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/subscription_hashtag.png b/android/app/src/main/res/drawable-hdpi/subscription_hashtag.png deleted file mode 100644 index 76cf0a34132ec39526f36deec738c23f0180f632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^{2!lvI6<3o-U3d z8luSw4osiL*8Z@s|9GlOMbSc7g>OgTe~DWM4f_bWQf diff --git a/android/app/src/main/res/drawable-hdpi/subscription_lock.png b/android/app/src/main/res/drawable-hdpi/subscription_lock.png deleted file mode 100644 index 71ec7462652b0b68b4702d145e2ad161c6a194e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmV-V0kHmwP)7OF%S{7841Hb@L{JE)P{SgT7A8orQc?p2WVs^ILO=whur0tL z1#sdQiZAxO=QsWdR;;S3t@jT-S3ywVK!8_KRC^t{3L$*O>Ev27 z;oE2Zq>5Zb9_e31aHy(1`q}<&b{v1O-AaK)MIg@vXM>`D@7&E~dRi;)j3;*Kc;H=S$uZW?FbXc^Hu> zTX=oM5z1lFzep;JWV7`$?nUd|a}x2e2uDu*=Et{Fo_}ep3v+xU|4+rq!g#XsuVH!8 hCM6M*7&XiW!8hn(TU*`b1OWg5002ovPDHLkV1lECj9CBx diff --git a/android/app/src/main/res/drawable-hdpi/user.png b/android/app/src/main/res/drawable-hdpi/user.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5ea6edddb6dea5ff13a60a616af45e59aac3ec GIT binary patch literal 982 zcmV;{11bE8P)ayMbS5zq1rPC{Hy2!DAaR-QS621ROFFZ(or|Xw%)IKV zuj+fRs`@p+lKiI%;9_~Yy1JsDr+ytJf(D62gqQ1ASKaOF>zi3ju0;{oHMZ3O=sQHT z%};`eZvoV?OgfeE+k^Db#0`ng-LB5sKvc!Y{DlNBBrzd08=Ivn5-;tiuYw4TPZ=d> z=e@ujgGvrdmckvGMTb3>+@-{-HD7=7sXm(xQL+xDYr9-cFjgn*Luds~i} zgbnewZYJ&Uo)OLn*7$t#F7kA zjd)23=le{sS!{$f>iI(cMgE189@aIrCPC9lt@UBS^NBy0IBvlQ0;uJqUye1l>;r{8 znc-*sTmd$h7mh10vBZHc)O3M|DmI5ge8+e4A#*3^@9=xv=Ng0ImQ0YsvlI4UpRpCL zWlLQjZ#@kzJk_R=a<#Wx z-u*Mg$f@y>fr%3FMW*_AdyL4r!sM;uRA?o~)2Szgz|tqy`kVl{PlHzdj$~L;i4m;C zNUS^)xaVaplp^B%XDu#3h3ewiwQJeJpnp9}i~_ur$HntG7laj+y0Nis;~#Q!Q_Hs% zpL>8KG7NmDc$$@l?*P^;qUCLf$gKcyS7-%mG{GhwEG*NocvxNC)N8Csjt>C{Kj zjTF63(I`x1XYdy9@^~(gHKmFv#8NDpA0r*$x z)!t-srTXD4=M8a*MO0R=iu@ey@1JIJDa?{ARluvjU$nhk4LG>UL;wH)07*qoM6N<$ Eg5h4=LI3~& literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/eye.png b/android/app/src/main/res/drawable-mdpi/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..34a1260773868e6103b905445ff95bfecbcf7a8d GIT binary patch literal 631 zcmV--0*L*IP)*Agb0K-vnqrnTFkB%6SbNPA~%hhMNA)LOhjNp4Azu3bno#wGrV%GsfBHQ7x$d^ zJ?A{VnBPDu5Q$I+#35)wz`wSL$I^?bWJN$_6&j3O6;G}M;3Km&U0=O-W^V4$ zH-A7Z77MQAf1V-n#z5~NTRfR|Qd5TQCd0n|@C}qULClY9t>B2`B)=M<(9y_cBphd^ z`<-pglZiy4SO#97!TT^;aWk`MUsL}QU@!Vbt~^1Ohw1035tGdT_C=!&QgHKnx0r9G z7wmCk>m3N+BTvq9z&ep}QqL?kuq$z7f7P_F_M9I~nJE|*b)baDD4@)hrZM!g(OD(Mjdb+#Xlet{3c>LIaonQT4jS4!@_yYPD*P&#y zSvMMu?rvz@{{SVOf^90ZVBb}&%_*Zi-`endO#60SRnzSJd}2)<%^4aRu3P)HGK!_V z0s`%ST^kdyWwDvCI{Z>tmekI|SZwJ*iF002ovPDHLkV1i449x?y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/eye_slash.png b/android/app/src/main/res/drawable-mdpi/eye_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..621162a17905b63a6d78312c2105951edc5e0ebe GIT binary patch literal 820 zcmV-41Izr0P)5S}@Ab=#DzG}IKelne^gwcQH*x&CcXf&B?V^-vV` zRQ3n;P)aY6K@q4AQ6wZt(L<(SP~@r@>YA=ZAPJ^Yq4i)z>+jw(&AH2!h3KirI$X}r z%s1cp&dgkZe{N`h^I~1sZ832vbqUF-$y1-k-zYBIp9phxJuWyS_oJjtKujl~NCYuS zNIj7xnuT!8Oa}sw0jNxXsI+)~Bh1Y!O)=&duLJ|~Fc2-H5ONX;B!4>)aDySRf58Ym zVApyL#h!t_juwkhSR1uE-37(Q+yYCdqe#>$(5A<)c0>>PIurfvVNhd}%Y=RoU_?JlffMNO<|LZG&Hu&;f{^5wYmPm$1uNzy8mvJntQ>_Xc;FO91J zc#KsY8t`>KQg~CLbGx2FB=55_|8kpSOE{SVmG3OMi-ybvDW5QbcV(28*W2s;Xcy5J zSVWHj(2(US+N7|i!Yo%oCzEYPO>_Etykp9thI4CC?g|GDeg7$ICD2I$SW5^^eqZP7 z5CXvE(i0X*zU86~5A}EDn+iE!8#yxFlo14M4Yw=vt0#eSaA(s^331Yaa-BV z9IB1S=7Gcs}9Z06L1{bHNhyxdy>_+*n;;QQEYN_JY zFbUZpnpj%4Ed=B%O+a-mZk6N~j ya7)|?2f5uPu|b3+CJx3pj8U)GI~VT%zlUG?Dm%RUE`uci0000ERLtq(wlOgAGXbcFOWjR1}W)@^oBq~ m3rvERLtqy<2jgAGW^fBv61QBgR`)zif>#6mDR!GYS;H{f=BS>8X+vY8 giL8M^z#Kk?4ZK>?U3(iQ0u5&HboFyt=akR{06U^5+W-In diff --git a/android/app/src/main/res/drawable-mdpi/icon_facebook.png b/android/app/src/main/res/drawable-mdpi/icon_facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..b362e2ffd0d97236ee03ed728a381e3eef90a69e GIT binary patch literal 498 zcmVMeEA8+4y@Ieh|5i`(m zMwrDgnq&)DSQ-DqG=u1$fBybQ=A*MowgBA#LVQN2^i6nO05ZVAMCxo!vavkGu>Z`! zq$!AG@b~}!8NR~!VdXpjy!-S^0>&pQlG#|8{xLE#h(I)91T!a4juUF&kN2N{vB3-n z(Nqnh-+%u-1^NcXOrm`7>irL{w;z9;0lA2sm6?r)i&YQA27$kS|2_He<<|=k`_7|J zpMaDyhz$co#Q{t)h*nb&xIMkXRuv|8{^pwlCH==8V0?5M#XIPd)ZmX=Krj@CMGygN of0_Zt-%OyU1p@;uEP*sz0J9{8$+rr(hyVZp07*qoM6N<$f$Eyf^QC z-#4>we!|&*S~8hTIktV;W$YwiJ&dzX4=&kH*l&WdSuGNIzOu6Nqm~S>mgws0>a^F_ zZ%ZaGBCl1$C^3gKJ{5^Z$1|A>ORm1Tus{b2#VUsgq9u$_d6Vc~~y)QVdOy7HN6|`k@Vl32V-! zT=;BRzYW8B+^k3U>0InR(0edym{vD+@+n5StYu9RmN=y4w{~BXaXN~B?Tuw5!u=3j zjAc#pL4dBuCStKMm&yAI)@hFDX+h^)6(@k??y3T;%aua@ssL)FE&NNgndAI}VdQ2u z1NC_x2V50R+O)|%Y7m?DRvkCuSK;;`=3oCnNy??bZP-?Fp)GLKyrUY3Nx^mnextUM zOWF{ZIaNqX)~Aje@xeV@j+d6eky%uOIL`y=bh_cMAP%^vR4vjLxS8+OAnyC_VxjPG zVq&7KbSkFOCoFM@tL8|Xr&6h;y|KQGL=yrZVY{W2amM)q3V365bZia+IB{Fs(9n=J zKmYESbonGWhbj=Ih#pO29~g^w?3qUWh9NrFD%pi1lQUS&5z1lGf@FN$G|f9S4jNwG zTX^1XLbx@Esg`p#ZJ4aUswIx} z8Z@sH&YOV#iG;?6F{>?IdEU0|lwp{CLTl@weFqf9KE-rZDcQi^c{lKv*sa|1hpAXoA@M`3ELXPX=26>t{D<2t}z z{+OI4W8opIamie&0Cjc>F1_DNu7I;wZ*{Tnm!?LGphoLiITw!^rLGDLJ-l1T&8_kX z40xuI^u)V*-IfUtJsR1;mn+bH99xoZTEAJ^_+bI8Qm1Zi6z)r`A77TeFV$GRNw+P< z!F;E9_Irld6*gZQ9;-I&>(Td^#2IIT*69h5V0bWLMEK#nw_4;EU>8@~U--s_x?SXB zH$}lTjwNG)ZpJq;E(9QvVN zoQbPp9em`LY&}U%A&u#}jzeK*Lf2(1&mgUGvBM#!RkpszB~cdDU=$y?x|F^ERp`2l zIT`u0c@Wyc7(O5aHfW|jvcPlA08~KrPy|ms8$xk*5Z`+G0x)yvjeApNS_w~_JZf0N zdoDyr;y4O8i->d5$q$NH232Tbze^5=?awZDWljN&x)?3!!%~cUI>0OnJYyW~Js~(T z86CZsg<)()z+Oq>BDqiv-!TiPq;7_&OiKOuLR2nwH1I3LdE7ubN=HlxpKp`Vk-Q>x zZ~d_S-Ahqq)*!+)=^#NBR86lG1}HTxNJ=b^-=YMIH4^iqcJsE)7X!R1@`5vB)m1vl=#2degbgSIa3xH Rzk~n)002ovPDHLkV1l6b%V7Wj literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/icon_google.png b/android/app/src/main/res/drawable-mdpi/icon_google.png new file mode 100644 index 0000000000000000000000000000000000000000..776775448747acde0efe763600a0f7655896c3a1 GIT binary patch literal 928 zcmV;R17G}!P)aM;0^|D)grmjM|Ts>F6pVvypI9wvbv> zNQ+PxiDe1prrNj(5?bi!CNc@N9|%$ta$_J_m}dSkqvGEG&q6KO5GNdZAy*D$9g%yh-i0idOi7xa!h$6P7p#XGUy}j z1zJEV06QnsM>M^Si%uvAMUm3L?Z_x4&R5Vvg#l{vFfQ8s6kVU@l!i25&Md2E+FMNv zOCa#VP~bdY(t!2sHG4akh8J4)MT>qxiqT3%1T2ng@8(~%Ws@`r%)0Xp2d84J*ZNVn z%PWB)3NN+`&Vhm=i%`HFU91lxuKonmk*Vo0gZP-owri3GBvz6FWDvn};ZLvLF)*gY zRDKJW+5$*>!ngGoZ zfc)Wr70PDq_-iR57Lk?F{GAm=arc#``sK>iqr4jLnLt2nrDI&;JP3+C9Tk=|J|+x;vj1BspS4#lgYzg8 zh{u=qhRgS}8l6@iQClUe6i&XXx*lM@cWQ8+Lnpu!Iam4u?(oAdt-<+$Mp^Qt{3eY^ zFl=RreF77g=%+}ef;?g+S?43B0qt+t!Tgl-IwY;#}i|6Q4q?A%uya&*AV@5W!6RN{fF90PxoqbS5Ty#bT>g8)Uu zw}bOd$^6m}BX;=()K9v!33^jQSHWwA5-rA#`~Lx-!5lkM9_pI_0000b2ebeISeO_YN*%Qs7Dw4Icxp%?Bq(69AnPpy8s6${2o{PoQee>Q-pp|A zB`7G#2Pi%;k`acR#0>O}o|GV*Pc8$+f)(fQ0}~U(s8^qVFzmbif?RXq`hcluA=F5S zn6ZoygRZ0?!;TwI8D0P_p%kFR0m!hkPu_tsA%j5)0^|?@PF9BdZ@(}+c>fiv78DB# z?KBzs0!-iv<(t+qJo@mJVOfkV11Qo#;K;pK3@y7aGt3FMWRMZy0*ir&?bn|%gfBYC z@cHK-xEP3m5(g+UI5>(zybK$X98nAhDfQHpVpthxkD-ew3;x4m9;jVffRllPm5JdC z(50V$pt{xrn0I9O5xxT1MwA7NjEpEQ>pO6bL7-{{gK*6XhDE3E!R0{8%;iPkd=P^u z3y^*A?;it0^R7z_e}TUG{qH}+w4*ms3>4;KN8uA?0kRK1eE-Gp;m2>dAACw1=bpX;v%jJh1s}ivM$vQd&P%v{5Cfw$MUkZf2N=nWpQvCC4kJL7J|ja31Eh(8 hLlK$6ATxnx0|2%%n%RoR1S$Xk002ovPDHLkV1jp3{1X5G literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/icon_meteor.png b/android/app/src/main/res/drawable-mdpi/icon_meteor.png new file mode 100644 index 0000000000000000000000000000000000000000..5489e031f9c0108e2791a1968c094ed7a7453679 GIT binary patch literal 1258 zcmV!UoHOT~@0{;D_pUJ3)|M~a?q^8X*SUN5ink5NbzK%y)u#X=a}c+^ z-7{(!dECC$_iWdUG1sps1M$JZ7h|oh%cvMTbjZrscEN~YRNQKD%A2EwnWpWR4 zsa;%`HKEXD%d&hiO{?V~e;J0)H4KH@H~k)IZ_fo?UtZSrBAy&q)%t{{J<07@F!<0- z(>K4XNyE4^u4zYynwv}KifUSGRMVQ~*)1b2Ei1_;?dI#pV-~zYL&30NlyN5|M^*Jy zqOq}x`=Yx3HsU(So?Q%GfA5N_mXkf)*jUY}C7VBU8U*_Lr{MH*zDtiC8}}&6b~~Fr z3Xpp#p(-5iWUd>)Bp=K!hAelc8G9$L>vxy;_5C?LG4aUXx?aqSFZw2a6S}^Uf20Xe z@ZwM~_#pSeJ`4)?(-iKG9XXiP9M-h;^gX8Quf+``z+>ko;Eq5j^qb3=g07w?Uu9ok zRPuP5ZQDK(4+ftgU%=zp?g&CDVtR#i+Q}~}YRd}3K5EP#3LSK^*=?Zgeu`ZHK!=N* z2>KBPBy_Wj>`K$TBr;|=j&nSrstvT#0NIKOisPfB5lfcs9Iw}KT(=WBMnIN71hrcz zm(dS@XyhxwVD*}C_z&_ykDXAnBoK+bPxg?iK8j9Hp{ovmB=SA2>h(-!Kw!)fb8|OK zsni{oZJ!lH@$*19e1LKmOhCew)zn03@9A!W@L$1aVSBo<#!^Kj@+&%Oas}ZCZBwyn zPRoi?k0zGe$>do_Q5=sbZbG9UL8mU8OH!RJ2zk)qG@3iGC;$c0VY_BoyS@4OAD66MI}^Wf zp%C6g~}#MEIV;bZ3?Xpb1hd zR#>U=aUVMERz$JQm81z=em?`G7(&)ng+dAFwHq7v2?`zemz2CTG(Nr_ol}g+B&mLZ z$Z*a*g{FBeH8xi5m82wA^exMAB9s%J0fBn~^7!=R z2V5i11!`+w!S^1}b%_JqkRl#P z2M?=Sft8Gdj#l^&gPsjC?hk153ks$2ZTA0x=lrjCG#Gr0{{5&3U2M4c9$u{Ae`jeT UYw(ABxc~qF07*qoM6N<$f;4|rk^lez literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/icon_twitter.png b/android/app/src/main/res/drawable-mdpi/icon_twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..4570f1a511f659608660f73b21736832c5022870 GIT binary patch literal 774 zcmV+h1Nr=kP)ByLXZ|Z7zHibL(W} zMbbJ1X(>V5LYNuLk_yCDZKOqLn_3wC2ueKBG)!>rkSV@<`rgy0uQ!g9wyL|Bd+zx^ z-#PCL(Z7D!D?mgTNB*>!gZ)yem-J0Be33~~#I!)f0~JJf#?#4fo}b2C{zTlOkA8s0 ztnOk_Z=AN87v+NN@0HpmqhFHH(Wowx{E9sLjPNPQrYF?6CtWib zH4MK~8GTiaVa7@+PR#N@Rf9P?4oj9pvrC zrRPTE0|~z>(%Fn5G#9XyH=fI;FoL?~(Swyhu<4CtHswc|tX3fhKWNqzGCdpB+vz*T z^e(XVn+%{j1IFLpfO>kuPK*YA`~Z$!`x@}v@W(We?C{2T4unltD*&f{cOt7;HA7)I ztgtN_-;t@T=nmTiJ)nXi%ZQu77}kXqwnJkA9y=GRuoX7WdIg`GS+nBnJB10@&tTbg zY`9*f)&qD?$4)-Q_Bewe@1u%azP(MXI2~-#ux`n@Zpsx}jgcNKwyLl}5shyLm0x!3 zL~oG{jP)LP!cGy@lheoX#kRX5=dq6^NMxv%?ma=-k*wrJY^uqii z2)tm%T{(ib?ZN7-h0{4QYT8mV*=E;_b~2l=ga4oY1yr*BeS1B;jQ{`u07*qoM6N<$ Ef|iDIJpcdz literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/key.png b/android/app/src/main/res/drawable-mdpi/key.png new file mode 100644 index 0000000000000000000000000000000000000000..b3132d598edb3fdac15fdd39bbaa51e5aea8127f GIT binary patch literal 787 zcmV+u1MK{XP){_}^KeD2e=2Oya|PheF6U=iD=R8@T(dpYI&Gj?h&RyohAA5l{gj ze&m1!b|@txh4nUVU;d3)Z|`C@B8e$-BglZvM}!n}V$RV?JyOD}thjJjzJhq0iLaWo zzdEJ=X41}3T$5H-UJJ5#G*XL*lo?R&^d)e-KV&;Whr>lai@0aS;E8IZJmoB8jCk zB;3oFT$Ugzbe}t%NJ)wE5dbrsp|iEMb*=XQtZBRQioji7tDd^L-D&WKE!VM|*QX7J zG~n+^*d<28oSD0sW?Q!n27?*{d|k}pb0Z@? z^B%u{zqy3Zxt@nq1?tD6k%6p)5_DArn)nnkb8aM38Gp;Gl(W|futOp1cdj#ccp}85+15Ntf48+`K6f^^$1q$`aU2R#k30r%$n#ogTF^&i^u)vA zInAM7=JGfc!?d&9Hlg627>o31pq25f>0%Pi>#aU+=D@6Y1Qu93ClsV(V}tK`0=hU` zTm|DDC9Kc!<0%2TM9Fz-g{&E-KIxj}AZCG0}Dc{s7nU3(4nN RIPL%d002ovPDHLkV1muXZx#Rm literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/lock.png b/android/app/src/main/res/drawable-mdpi/lock.png index f0d911fdba94b2446e3387f1b77e05b3ec59d310..a87c44950d79d1256e345de6670dc92e5e517110 100644 GIT binary patch delta 343 zcmV-d0jU0%1K$E6iBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)ee-=qZ zK~y*qV`RVq{{R2axM1n36d;|tQTG2TBO~M7gy^t2K>9y6t&G?N7cX8b`G?`p z5};vD*yMqR?PFnJiHVI3evU5Bgf0Mb8Qd^N#wSdSj8UwNtWqEhVlx26Ko&vOU^oav zVE&SossI1|p9Rv$!_KH578dpnf7#Mit5ykp`T74M!~g#>j7*Gai80}`k>#56#ILR3=S%K!@yVFnHbe-{7%002ovPDHLkV1kP_iBkXo delta 400 zcmV;B0dM}_0+<6KiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZyde@{t7 zK~y*q?NdEV13?g-+0$GaA&p>bnMyEfC;kOb@Cd|@q=`QwwSU8?F%V8r|AS!R2ijSw ztzcncrMc{L=ECJ}Llo>CxVyLSy_wtH*=3p#N8M;;V9{ctWtBm6;~C!Ht%cX)b~8>K zbb5Q%;!5~60C)N*R!+5Xzx*VNf8*X+IsWS36XSt>v)%~9S5@0lG>1=n!Jq}NP*~il zZak)0&J5zXUzZ8{X44y^W+pRWLK&bY zv|(BkR30TcK%9i4yqe5OcZLO0kMYb>y%uWQevHFzRIvkln;M)=Ov%4|{|gW~2T3kW uOD@dYZ<{Ed*}U!)ARx$#ld+zaEWQD*HhmO_1eP2C0000# zHAZH3PB3v0jbh-r;|K0AF*3U|GW_TK`}glr0~6a$Pft&Fmd-!zJcvdy5F~K^^npFx?1H*L=G^}b3}w$>e+9c1?yCR)dw@w}J3AAr_W4r> zmxJ^m14yJGivZb2k8b)5q|yyd9ajJU|939Pwf`9zegh5q3UU=TgJ4ErxDX}*qM@$U z0W#;}a}}~4tS&@W0CO#}7(O;$7vj^1OOEOWLc9#ji=gZSO7Y|XkX{C$86dr213?)Z nlow&yhh#&cg#*d@hKB|K61<4-Jrbe400000NkvXXu0mjfCH=dX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/mention.png b/android/app/src/main/res/drawable-mdpi/mention.png index 4455b43e8999c322b2b4f2aa24bdf7dfb0218e89..d02eef2531c3097d17120327a0bf7e309c7bdf6e 100644 GIT binary patch delta 704 zcmV;x0zdug1jPj*iBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)ee|$+q zK~y*q)l|<<6HySJ*)12_SVV#m4q!wuaw*t0;Zimsu^4|~!qo)5aFD=1Lo|kqG4bG4 zjS)@IEu5rEn-GoKCbowv7mb=)5^8sxZ`)mIt%jq%yXUbDTgE}B>liKanT@t%%j6Ae=nDptLJuVowaquLaXW>~5s--pkH!lN1y znwO|td!?DJm}4hTc{%l;i~=BM2J?bP7Ku;X6QNtg9L02Pq7e`R11w??>t3QiJ|U`! z0vrq)_u;H7lMBqod^Wu{gb7kn*Zs%Zao;mpNqj2qhke+3%r{ug0URi+o9igS9wj<@#}DyT@>XO?BvFVO<%(@sQU z6W2U2Y*iD~!iC4jlU?!nh%Z3F;cwraiy+8stlic^JP>iNM`DS0n6R~~ z&xFX?saCdjo$8j_!bXRl*T*k~`Z?)Mc}HXkeWv-7>_%!@b9R+Pe_mk1);vxI0)d1+ z^Qq>16?W$Ns(w?05u&ry8LeB}Medm)mdHZu(d!(X?2d=Dn mUDwXNyIm^gJna9s7XAdT94&$vHXob-0000?CwW=*)@M zs+CeR!R-cEe7bs1Rq9a8TRwL`41%AD6VFBz4QQwPz(i_hQolA=dPsd7fG@+aqUxrq zvsYfzu-{r*em-gDUjkTWCd!((d*41HwG}At5Ew;KX6tkJhN(>Oj(Xm>e~fN;Z+M_| z7Y{x{spahOkugWY;+m0m0^aO&*OAd}+&8!>`yE?A>XYSBL&+M2Ly8i6S}C zZ)AM%a^ij=(_@Z9!ao0nf9N_4VPkD=IMGq|=FfxFL+y6Ek9w4F7WYAIEH}%TkH?bF zonUS307;B_Kq+w$1O#Ut)I5fkw9&%%c=)T)_>B0{}wJvm}f*%lE6e*(lO%inxRJ5r0X>GA;)lQ!0O`J4o(UI*WO4 z-kf{Sne)EGvRf_>%VSvqk$Air1FvobG6gj$cZ8&@vbsQ;ykiO|^C;lLY%-D?>@l!0@9k7Q z$n?g40_2iXoS3igv9xwz^BF3NWl92fqbTOzOLTj^=;`UHvFs=rA+5|BJ zh2eaA!Mr)EfZNT)9|~heT7g+4`uqFmjWiXhak|wojK#Xo*M)U`-B<#?9PoR0*4Nkn z#A@1xS+%f8w#+N0xx(dgeJKe90CqM0Hn}^TNVwIeqH$F-Go@54%2PqzcL3I#;b@{A z*mLFN#3s=TH?jFdjjsrDl@-L?CxqOxvZ?8DB$Ap>Vra9z!h02Ki3rEyYU@5+R-O## zdPV>i0$5h=VS^C#Lo&An{l2>@Pb!tF9vJ-D2@$&-kSpg-+tcuYlRymGTJ*^+EZ=)T zK5Jm`$33Uy79WcTmIGnKSerJf%ZUhuRVN+@c?&@ej$_qK^84mn4q#+=!;W`Oli;hN zz&W|a!+bNq{KpcYMlYt-ai;<%iihogXd0hX@%9)XjO5D@@nWJ$oy39Xe8B5{nI}NG zKtelYsdJLeDHbQ98P!_59hP-KH3U|89$}8P*)J>y1pG~xSY-M~ zJy+_&Apb5{wB#O0Rc>n<79y$ie}N!vyRI)cMstmEzy<{Mf4v7|ftIx;Y9?C1WI$O`1^db&7< zNJu6pG&EIqhy7{am}s&|LfB`5z}b#9-4l{F*qHI2NOFnxt!-s~A;}Q!D(?Emx-t)_ Ok-^i|&t;ucLK6Ug$ss5J diff --git a/android/app/src/main/res/drawable-mdpi/subscription_lock.png b/android/app/src/main/res/drawable-mdpi/subscription_lock.png deleted file mode 100644 index e345bfdd6ae1b51712023355bb59374aed85310b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4v7|ftIx;Y9?C1WI$O`1wdb&7< zNJu89G&C8fpW6_(uWq~KiQZ-|-Ah+P)|na_{^WgR?8qwV(Dl#w&-LWg6hr1j0qIqO zYgpC^oajzYPVw#T9K@1YIu*GWXtRBs{7C7*s}EW& ul1*>ia@r0aU9o-wYns^^T?0ESUWT+c+W*#sTbTkK!r13#HP5;>PFR6PwPl z5!K_3lN#s>I&kN0Cp;*(^nwXz(^(Bc>$9B4x5939%ZQ~HOgMvOtJRPI_5)(C-EL2e zDDD}HIRj>@)er&KIln_e5af+UdclMeA5YUW{u3Vb%(81OR?DxB2q4m_d1a-O3(Ri#+-4;)Ia91 z*=)|_3&rc-2cu=q>m1KuxcVww;@R6+|M+R1XYn#~3;RlC$EzG!>2|wO(lhnR9Qsbq z>=_X>*yyQ)&i&Qb?bHw-tp}$y>8rfkCL+8jg?uT^S3d9~o;HfU+Q zdgGF;6-{zUDnr!J;Mw~EO1CLU?GP;1Bn(p-3htelpVedSBSwc=%s&L+!N%N{hDPxV5c+)J lAKV!?TzUDtpYZ!1+utAq##-Y6C@la0002ovPDHLkV1j5X8~gwO literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/eye.png b/android/app/src/main/res/drawable-xhdpi/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..611c8aa09a090d8781dec9d4eee848338e7d9e50 GIT binary patch literal 1307 zcmV+$1?2jPP)Yf{zx|NSZ|Y!p1yz?>KXB z&h6Rk-Mj=TbT1?`=R0#|zB_Zyxw8Q2C!K+G2GSY0u`__nef^?9XtN1a0%Qh&a03FZ zA;fI)heVeM@FFV%fJT=A*xuI_=~+&!B@rwx4&~0Exf@K_K|t%45)c8;fdPknWHfen zM@AOAc2NX_!AG(uX2#!Or!@qSxmf3Jb{ue=@dGP;neRrU-(GUF(Xj;y7H!^AVIqAD zM7jDx(Gj5^34h?y_8N%8CYe@11C4AG;<-Sukq93Epdv9(SdTbj5Wd*g)7F}R&lw~x z(k5$bYmKjto~Y-Hy{f?+1uqcN2Oh7d`E)dLPM=Gq7d{xuhZt1>n0wgYZMq#3*uSl^ z>@|*O>bTNf35LVrjI+OwHWSg)%8=7Fi3D|7{?!c~9p7Aa@Fgh0V0h(ZZ1iP5TyJr9 zSE;3lczAt&&T}m-Ez=59GKrv_xszY=A$Za;;!+ZLcl39k8c^6=Sr{mJoKN#7MBwL= z4j>vI@yTuC;GDF?ClDyTYs#cg8GTsIaAm&UR=M@5xta7R10^qy#p_w$sm5H>qnX~^ zM|(Ptop&%7Wn^gZY);;teB01tJe|iRpJ;44Sdw?o9mj_U2gmd!LqmUDx&Pj~o2RBB zpYej(x%+!4;CLC-Y#SgxwglVF!u}S=l zw@Ol_B9Ta}ue3mYxWfewuH4Y-%PVlAW*i3-}*f@=FI(aQ^x9@;>f`kP~!gS zj3g5#$(Q;|NjL*i{`L8}ds#XsnaDg~bFo)A1ZT{dTHd&~3e0ac;q_v8zQbVcIopTx zKQ@KWI|EJOpu4nTg31RY4p~MO@4;bff;m`RX05!++C<<@ZjT6zJ-yMkAJv?zH1S|T zptN4fDw(s$ne?`+E#L-s+(yqtB3CvRm)67yjtF9L0oW_LLr@0lG06N|>8T{Y%L*{5 zZVIOBz}lfnhc(qwSKMu%ilI|tgW#B2X(GNapEosjm)r;}`kCKWVo6NpPUqqf^clWd zJ{W&lMnpLivGFfLp^$5a#YXNqT2IL%+}H`m^h)!5qFI;9*eMOIW)_=hk2vzx#3?<~7nPyti5TU^pV`EP#);pdC( zjHMHgAyt_~ukhx+UBwW|8CrU~r8`K~u=2i&vt0)Vh)Toik%kpKcEbws>^RX{{%x{} z%NS(4hxkAwHYWeIVbw`q*Db$J^t%1gq?1(o|Mjy|#Y@X{2GSWwXW&N7z`u-U5u}Rn RqYeN7002ovPDHLkV1h1yd+q=L literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/eye_slash.png b/android/app/src/main/res/drawable-xhdpi/eye_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..6751bad025c8b708ad48c34ce2ba768283e5a6e8 GIT binary patch literal 1886 zcmV-k2ch_hP)w_9kHauy0|tI=qPb_?At)wa7p6H+KDNec#V zLx>>aMT~a{9+;R2{vpHz2vH1DP>w*A!ya2K+k*6dusF5>BQANFP^~8O`3R3Nr?ad2+4e($Z4(SnJt|oQEbd!bU1w8Nn&n zu$i9|?zb@7mXVQqq^zt=i`MOQ7G(5xv)!QIA$Xh+Rbk|I3?l$uvjry?77k-wy(OIU z2RNs>P@N<;h}S5gorIEoklW*{tKLW{<&$#UQ<$dh1gO#Bbu>U#{$P{Wvm;v1RamQ%=4V;4&Qrb2Y{`Vp*bCiUYJOsyh3yx1uqY zsw-O1?RHx_gX}fJ`HP&BA+eMYN>4yhJN$GGE(Ru&f}PXQXMlH#SopoowVpb=BmZS^ z-_~)3|BhHGEv~Px{w=0n5C^oN(>eXN&OqNLxHH?VfKt-MDc!0tx;4?7=&h~&_N_N=cb*!xx$w zJgX z;U3$^wMJMWO&6l%98OoFToYIhXejS$)`GF|9| z>sxF}Ql{5i-X-^luwWlyYYcEWq(aoWR|`%k6yQXr0@&t$a0Ho3a$=Pcp<7X{E@Zr( zC~$Xr4-0-E!HM1gXm`3wAuvZWVYwB)`pW%s9^L2WmPV8uai;>@dW6P1kkvh-XR2*@ zUV3_JTl9K4KkPkl1TdbFbI#dgnNF91!vIJaTP%eDZr}aI)83TxSbZ?$-;$d`yuEl zkrE13jYKgXtp2u>zow<7kAt9ot#P;|ZG48;-_~+mE|h&ZQ^{J)t%8P(5O?adjGM-u zNEkY5Jr4M+loi*a#b%q=-g^AJq?!A0so~o|)305`;upU9s&}P~VL?F{maHtpX2*0U zY8WRPtl>7|XP`{AScU|CY4Ps`xJRUN^bDR^(pa;<)kHIfqL@Q|SHGp{i3Dmj5=00_ z0IaO6>?SHLLdEn8rnpTwVNZ+kK$#lQx<&>=!CJ_>gsk2uIjSg1p0Ai}fUQw*Yb#({MnC0|(WhRJmreo?vO0+6K{3<0$T^tOu8{*xmLLM2f?ATqE zkHbvFsVGd~?I|Ex9wmSE1f5Fz6`M3bD-g)mLE8$QBcz5D^d5Mvtdm zcLQTPWHKP)aHo>_A{io84Lk#|#B)Kuh;a52tTx7wrnJMN@|lf?JckXMX%H8nkcoAt zsuo@>l-V7wg_P5-1XZmNj{}oVW0;pWYk06HkfU){f{jWLZ^H~G2B1}{iMB`M#i)>t z3(%hJdIc_fOUgj-h)q>z-FV~ZQ%6twKP8MjEEI?aUMu3Z0{}V@OQ=441Zbin+#F`> zV#c3{H@quX+&6RT>MLCcmjM)+s`-BUDC*kMU%xdqJG!$R1zWJOQL~I)uVNrd4)XHD zWLxrkH8s1>UB!|}3+izaz^7pUwI!ZF`s-JII_jUACp%mkBc)h92ePRHZ3GLP#^-?t zdN!vFrMr+g7YCA$=3Qn%#MUR5GR%1WMlX_cxRN@ZQ&U5fOyE=-Pc%9KnQw*r&cfYi zh@$?`bf~gL%Kx2SuioZ`DM@ruXEzyzIN5NeOodh8Z6a!>_!;-7S>NDz&;o-N_`h4= YFMW{?zgx15ZvX%Q07*qoM6N<$g7o!^82|tP literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/hashtag.png b/android/app/src/main/res/drawable-xhdpi/hashtag.png index 70a5b3f63cf4585307e7952defb483aca69359b7..d76738e3ae23e5316c0c1a574b45f3dcff568d34 100644 GIT binary patch delta 218 zcmaFB_?S_#Gr-TCmrII^fq{Y7)59eQNNa#F2OE&=`L`o?qM~s9EKe85kOsNaXSPBXsSQcPgtQ|M3v-(#~_4tFIaTJomcpnC9_)S6AHKxclC#e-GaO z6uF_w=g3jUS@L)3^PuvB>;L9V(z{sEbh$dTddlvIDkZxlt|>=yI31;DN+@VJpfMhC zeo~uga3n`kzObfokLR0Z!p=2EL^L{Y3N@J-86FX?VboTYlghm}yB6qN22WQ%mvv4F FO#quDQ*i(Q delta 215 zcmaFN_<&KdGr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBk;lx~Gd{NCanc$^ph_ zx^ae+AKE)hMa-I*7#5V{V#T*KqP6qt`Ib;~Syp#h11YAS2UogmFWzJ-Zd8ltn)uLa zf?ZFnq+j5oFPjf+mhvlZ5E5v2kZJap)w8tu#csp9!GM8VQie}mi=*%bE2r?%`GV6K zk4#IM@=E@LhD7Os42~Y%HV_FUsuK=e29t{ut}rfEWMJ^-^y>L)eq0XdRt8U3KbLh* G2~7Y$NlKjn diff --git a/android/app/src/main/res/drawable-xhdpi/icon_facebook.png b/android/app/src/main/res/drawable-xhdpi/icon_facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..e9543fd0f48100d63e681971a6515240768ce66f GIT binary patch literal 775 zcmV+i1Ni)jP)uTX(Rtv1G7-91nDJ z5Kv$UI340dXg~)6-Oj)S3i%=9ax{m6+|D#qk`0>M!Ca8rnXpL=C9zQt40LR<45S0} zRYk6OSjoIrmlt5>;bvuLVqj$Y{_FSe??3+i`S$bo-!EVP{NHu*3E!b}&x~-nb3i;` zXC!s5G+v*Bi=9Oa-C=?Z>?lGU9LxuR9zYR8=Fr^(l}UyNUCdh@}nN0S4iWshtVm06V-b2H7Q01to0=^ic4l@Ms8*% zMoCY@kHEzwsKW>%EqwLuq$@%Nv8dho-SUl@I4 z;E04AObsrYsvbCU{)HhBW7rkqqI4`XL>ogKCNOi|b@kWpze~XQq|k#p2@&IwQ4bIk zO0-ln8UwTpU1H20jR9gpiI!?cV}O>SON`m0F+fZx(NfK54A3%ki7|WV#{g*I1Tj7x zjA}q`2Q4+&F&G_3jGI7iX96u*0V-ZMlwtzv)^#Aa0{}TdwN30}{fz(s002ovPDHLk FV1i?nU|#?L literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/icon_github.png b/android/app/src/main/res/drawable-xhdpi/icon_github.png new file mode 100644 index 0000000000000000000000000000000000000000..f92f531e6b979ff870d33465abaa97acc7c293d8 GIT binary patch literal 1997 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 p+L7xdY3LbgM1-dP5DK8^x+U>pL%-ub= zx3{}=ccFZ7!gl7&nVB9&2JYCg!`9w$VVBBaCj%&mrI>Rz%z)L(viw0yv+w&@JgL&IYoNodvW%Xk9&H~r__cf zcu;F4!W7Ioqvy!Gn45c?tG&JSBb;c0-3UVg-vRV~YlH?fN7?8D#`R=y-9WdyB2V-= zs#YopqoVeXfw!@$U&F9v(T{MV8F>WGIS1hE6EVlee!q?T?2570$A$ohYkDb(9Lg}~==N2J{ z1u`k2G3=jEy*&fmq} zh7SbZM>x^Ud}3Z&T8aiidSuRrS`Hu9T8~&y6zX1+nAD|;hye4L6;xMOk0R~$=ucZd z8#Hr`&#w&2c?|Q024~PezLFfKdvJC-oTBR0!~yQ1>nk}`CT=zSuukE;MaPpwbOSMG zuHjkhg}f3Dzaj8sVNubhxhk-i404&3m6g$O8>k7Ox`D)t{cDeq!4~p_b4|%cF;52i z{k4}dN8b}NSR~$o%fsKUTX)|qK}!@)xa#_QI=izL<+@OK8UC=CVOw_2;$wZ?U3hgR zH~M=!8?v$;_>cv0$ege;Ql7cgaj?Im1EZDLnBYMY;c4klp=Di~IIy|O7(1EoE_o8Y zfaLh2u(&wOyc!BL?3K9mqM+jqX-i$AT7jUCxV1>$7|H*)P(|nKj8K%NVNRRBt`Oj&RwW7KC_<)($ zJdbH0F}aFLmndV(H@G>4+dNdP_z}$0JB$n1AFsqS(&;YViTwMKKN>aut7NyApFLII zYt&)JCxuur&`a2od6!G#44W}GKe;5caU_Q!oXx|$&gm|33q1mcf+r71lJqD>0&f@^ zupCCNH5RU~$cfBj|BdTGBfAz#dNSdw1T!%og)-^-!p$xrY{x?!L4%*ix8DMiL+}2J z^B;u{E=hjO$5(0Ya(f@dm(Z8UYo$5r>a=ouSul9)Pnw%YLI#?J=;E)fJ!dz53l|o7 zS1Mt40=+otn#9o8gibeZ6M9^p(t8zEJ&0bk6AcgAW8>B`e1HBfcmzzzKp|{~@r*PZ zNOD?_RnGoIoVhHrT#P5zLK;st)Z9?dWO=Ke z-vAjL6yN&w+q4fZA$LmA*b8B7Rg7^ zlXpheXz}nETi-c2kqh&86`U?Hm8oLQ(mkw& zHI{K?(=GL&*$Gswk%EA&+$!z6(f_J5>%ToG5Bv}I40Z3d-Mg^>0000xsWynv^O7g3`N{(y)= zE_siDmp}-?7cdaByLP2(b=aPoneAy;%pQ6!(^Xyd)i+;PcMn1zPor@>-q!6IjWmq} zPY7|0;gINp5WXwIFOiB)>-D)`e|If|cS+peKOOtqzWPW2FNkQU7X~6;n{sl}LA|wmV6M;q_q<$QNO1~FV%+aq47`Go>kDO1 zxZ-{1T|GbW3I>9{OD^Msf>IG*J1FR@n2Zk!N=1C_prEf}GCn9M74fx$g1(B$c<2A1 m>wirG-nSi=xL-vFUcrB3FTq)A0?;b}0000N{e*iu&}ZT@nU{0cLri1g0@$y*eQsGLcHU0 ziRK7Nkv|}$5G+g;5UuR;2ZRIy$$R6><_33Dvd^d0R?IE1vA|lgR zTDb?#jUv%7Azl(X`#bD^1!Gogf0JYDi0JZ`#k|1QQfI_kddnhiW^uUrb`ao`aI&(Q zh10cM0-CMm#}45Q5S5geX%UYM!P9Cu{w@>8izfM?6ZOqtgcH9sikqR^$MW}B=}M*mk%^P$qH6De~OFO(wtha00vxC5FzZSpVuZh2!lSJR{%l$ou@-z0e}7v zhYzpgtxN%X1*BmAODb^=@Hu}S$(@x>j$9oajCQ+jm>`%xjRI%wEaS@&$H1yV^HO|5 zv(Mj)A5orf$)nZUwj;Wwi!oc~g2%;T$=ojg5C<;$F^IIqyxYp{WBV5LT|jaRbS`Xp z&mL80Dj#C0zjm7oojHD{-lrAl`veLB#RQ586cZ>W;QbcxKcb=LVkhm>oOYyV=E%{I n58xL-R3}SyAMs!1i)Y|B^0B~3jn@0000000NkvXXu0mjffx#*% diff --git a/android/app/src/main/res/drawable-xhdpi/mail.png b/android/app/src/main/res/drawable-xhdpi/mail.png new file mode 100644 index 0000000000000000000000000000000000000000..2425cfa0f59c2d793060a6a1f5d1a92f1a62dc54 GIT binary patch literal 853 zcmV-b1FHOqP)xL2rVB zq9?Vd_NX2e6uc-39#u582Nl!gAZ?VS_2=xtQUz&M5UnKpe6zbVnV6qV(lk-nfo9*% z&b;~h&CG5#0B&&&xCZ`j15Cvq9E|N)%jd5Euowb%tJgLruzh>CLm06?S|tp#9+;$Mb;qz`Lyz@yfB@OW#^Jl%##*< z_(S0_G$3vb$62f*4XSId)o>goJD-}inMhM%{YyY`@n1VS0!~d$X^1E{Q#1d8SS+S2 zvGSQ60Uu63zu*r=pZWL2yya8WUpqQFx-~EmxwiVlu-9DW9902*!Qoz#HwlO%m^0o4 zg3(j!wHXKwM?bIrTr>brQ{F@VVDv;~Jbp73wjDr zMx+pzMpXf`>Dilf(-|Vjce1On8491Q)n<`3N@(U{u&RM}Jey7(lexf=qXJ zb@l^eml$JtD+k#$;D(dU{_*iGzJc)75^Ib-?(jfw=GE-oGE7BPj)1)N%*@Q%LOMBN z+k7uGRIwQdMk4v;uZz_74E+^Zqg;nyr&9FnbuKjliZr&(zVbFBPXqf$b``8)f}Tse zMPKSuvo+a=0>}H1+L*`OCLJbd_uXd&b?+G|KMv4wX>PD z^K{BSN>Gs1CO9GBr;-y^o+S(@uY+ZSw4G1{@z_T?SQ1+vY{Jt{HJt3^oI#QVtiel9^iT zU4ylns?<&zwBAdtX8Z-FQiqMISI1OYl-mp@Xz-&PfWKYQw-6q-tk9TBFbX`y^Eq(az-Pv<5kJwF$yQqGfxYmjzpH})#7We4-5%H@+E5>!l fa1FQyHrl`+9Hu5Q`st@600000NkvXXu0mjf%!rJX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/mention.png b/android/app/src/main/res/drawable-xhdpi/mention.png index 1f51d42fe621cdea96e25619ab0e42dc3c3ee044..3d64c50264d0f09b2b73cba74af310651b87e3d6 100644 GIT binary patch literal 1580 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 Q0000007*qoM6N<$g1Pg{Q~&?~ diff --git a/android/app/src/main/res/drawable-xhdpi/more.png b/android/app/src/main/res/drawable-xhdpi/more.png new file mode 100644 index 0000000000000000000000000000000000000000..4d8111d8a2894859c9644e99e3db3e51c656b17e GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEEa{HEjtmSN`?>!lvI6-tJzX3_ zA~@epy~ugMfWswO{6)oGh25nq_%3p;abo@(?pUSn@oDno3h~K?5h@N$Dgj;&o34bG zny-C))!OyRxl4SncUZnYT{ZRn-GY82<6_I-Ym5)you+sx?(pL+dYux<9=F_mn&)yR z@OVBoo;+!t``1_yUSP}pL literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/options.png b/android/app/src/main/res/drawable-xhdpi/options.png new file mode 100644 index 0000000000000000000000000000000000000000..612d02be8da16f9579ca500f02a089ec769114ec GIT binary patch literal 1937 zcmV;C2X6R@P)s6r&B%5E5cQ zNl-K)CPt)&2L;rGfM|R$CZdUmCL)O-KBx~0UWf?Y?sB#?Ehz~xAqWKxP@s0(bH?vK zaE`Ovy?1x%ZqLj7XXc;(^38qzb2ux&6X@!i$%l*wr8F9(WV1QrwUVJF*TIXt{+c37PM`K8~ zbCHr^Bm7qJpeKaI1m{v;L&Kk`Y)IRYKuCKBt^R5%fn%ne^E2G- zyg$|CDAF;wJ$T}oqH>;`l5#p59NOR8+v`r|V@d$9qnppUu``*Fv08>kn|JBzz$eM< zOA3IdY14I`?Z=o;iefSax4cZsmF=N$TOvCW&H>bQE?vET1Y6qXM3svrA1i|)By08g zJm1IKoUjL6?jL9?1?S0O^kAWLwo}v2jaa(l0-$LA$eTWOd zkP+Di#`0L^Vt?n-c$pek^weLGHi^Gea-cs?1!?C~f71|s@H=>7?JhVg_Ha~?ch90h=G z7!Mb-Lz&u+n8aM#8QMdDGwID#NHO!%oTLkv%z@mxT!M%pnH9sopW}r zEx6e1a#Y^Qg<~-$*3;P-XVpPus82W?OL^slY9{zgnOt~UG7_a&4eoVPp<$H4`A8zZ zjPmI|4mYz~ZdU5U=4t^Z*dH*#WU2TY*OVS#`!Oq2t!M26)xuj#d))Oto%%5#`0n%s4@XCbe=N+ zaQgPQ2RqlO%KWotUA|*-)njyJt>!1B2`qqSf~PQb9Pey}j3<<=QIY7CHvkxwlsJ_U zm-skvJp77UR8v#)FCsU~(GybLFYcQ>v3v=Erq+k^E2UxVgVE~5t+HfAo5F-c_GeW) zK_%KyNkhKd5en12g8iWN^tsKR7ZB=x%g$5?!T3l1X3z54+FFVN+Yf;WnY(G}vNLl) zz@B~+0EbbQQvfX63@O_Jq3|vkZ%(#WzQ4(X@D*DJ0}LwYn&g}#y z(H3v6QUuU$03hXrzFY~7l>@_{Mfd$CaQ1A4TIO%|eu#HEdJhm70A-U}PN1RQr%W0f z)cjo17)*UOs)+pb<#I1D(olY+!tH3q#P*L`77X@Q`+T(*)I1Zc^B4C5gq%%ys(gzU zoUiyj*!YI0Lop?Js1X2hnWJ}RY+BKLq`E{V~v)33Ta89b)kU=MTN`$W*`ax(-;Te zs%}RMZD79jVe;GMtE)R}=@|il-{YYT(bpD3DW$abI~}g51KJ1x$l)^Kq5$GRDLGHR zNG{&@dh1TBe#HfVm@rdrRT+z(##du5QN1PBkGKF3(`{Ad+W|r_wn8z!)12mzY;C-c zCldldmlEzW{v>X2&KIN8s?FGEY>fAP5b@Z@VYPxvQxMV6*&*!F-D-Z((42pPTd0IV z--JEDa*%dRxQ1J6y%$r8i!zL%|t`+qp2+cf#aF$~hp`)p7f|yb8p){$aubVqE_+V}XFB zkq5`?Pg52Ml#biq=2Q@f9=AVE#sXmujq&*FY%CDgd#azO!56_ss~_jpD_EEd`t$UE Xw8cbUoy@?%s0~r}|0*LR&<_72(7RjXDBefjzSBE$dxGK@@&X^Ao6 zvytVoxeyp;3=BYtGIYa0;vg}Q9Ec4GUl0ocFbsr605b#20faJC7D5gdSqOPd1ONZ$ z0ZC&EaF{l@98@h#97JOph%8G68y+e17OlXVu81`=DJ}wR7S&zIg6;yCP3Ypd_~<^P xx(i1Q#1-_!ix2)V#7Kwe>56#ILR3=S%K!@yVFnHbe-{7%002ovPDHLkV1mPziLL+u diff --git a/android/app/src/main/res/drawable-xhdpi/user.png b/android/app/src/main/res/drawable-xhdpi/user.png new file mode 100644 index 0000000000000000000000000000000000000000..933f3b71c748cbc5980d5749596aac8d18dd6a76 GIT binary patch literal 1391 zcmV-#1(5oQP)V+fHP3*dM>G|w@dli*_fT7lwJsdVw!(vA&2lgA{>!FAlZzUK87#Fm^vqOMFjn= z$}SLMdj^P*@#7bseR@MOHt@RqNm=U1PWaaY7*L1@&c~u} z7lZW$!v{$JrnDjArDQDnXfeN1I>#0Cg|cdg+JKN7`kKjJ5N% z(>o>zz+3Z@4G#|fd@FBl5i_=PIi)2wr!FBmCdfcMl*=c6&B-Mf=|*xP!WaLz{%Il5)xW0q(+wEMp!Ah7g+Ar1D{9m- zu|F7ohX{O;0pVW6wXs-qT&@G1+g58cvtuM0`59wxjhs7uP}-c1iYh2UlJSB4)PzrE z0NETshY8MSw9O8>4HK$Y|5O8MpFi4BU!lu!FYh3#13{*$+M@<*d;4R?{D9_1$6xwRkS|skB864qkHUPZ3%`#%BmFb z@$6CMc6Tn6oJk_krgUn$J|Ne0yOhGj!Ckb8|kdv3+Kk zTv$j+1Kog5%C9}>{wn8am26)U(=8AVH}YB7$ptD@wIETDTYt|uGrnM!|Di|el3*xQ zRt3ir0|R+q=mp-D0Lc&0$;r7jDZ!gK==DT(IRmVbTS{f}q#1{0nha;h>3dI*I@Q002ovPDHLkV1fzbmfipW literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/eye.png b/android/app/src/main/res/drawable-xxhdpi/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d2a62d5e9aa2d8402d5df0e16b706a9626a554 GIT binary patch literal 2067 zcmV+u2<-QXP)MB_Wa+1=Q#d5r_#ALki&)D2m`xz}j7C!JtMU1`tR~p}Y#TYO>~tco#Zb&AqsT}@5pr9|wQ>D&^)!}G`Z zcpHBU0Lz#VDP|2NOyj%-PHq-S;**2byMqbaX;-`{z&UwE!&EiAPzdq#%{t;lpL4!R zQIg-Qt=aLb6L~Y4gaBvx{k>VU`k7$j1sHX1gLmP$)`G?-X$`5C}Az=@b_i zr#4<_9fpzO13wp2qX_mh%w#)god50N?8Vw()y@u@gMwqg3l=O;Hf-7X5uBO>yB2!9 zm2%i*#aI>R@Ng@e=&eYa*d7fW`(htb^EGT8hPfF?7X6fMdbRIjPpk@RJ~ZW zPQigH&XU&Dg?`#$uBE4Dz-Oh8!)D?}S07Q{4cVh6@e^U&z7$yASi@nd<6_ zYcen1dU|^DNlP7o#&-0zC11m!t!VJTzOQ1>->M-;i-du&$aDkXNORC4tq{P5JxOd*C={sI((TH$8r$*JNSo9QwDnS_N;H~I(* zVbbdA0INcstz|~b3SYGUm)*4nx($K09;?MCYoy(PS6v_R3ErC}WH*@!v^E2+oc z0=RC!SQ?XrTYgj%_naO~)JOqrZy$&Bnu;Y9L?*@-kpg2Fw+U7Sj zwRIZ61if8PV`C#`p#7s8(hv>l#1W|r&Ejnx%}E6(C?{gJG6~p-`l|0;YC@MZ&;eGs zvP5ab6)^r7*#MZ%skl|YE(_8@JyQ3_O1hjIcxD7# z1dt|({|HJtr0d`zU&tr3O9WvcEV3C>=NnER|Lwj3gHmDWF-c+AxrEnL6d?3~&m(_V<)j1->dWO$Pdhb-yHcH}y> zO+KJQ%48n-TvrpAC(~nf40Y?rHUYqS1FoDe9|-Q=Vr`+5LuX?;E@Brh=r~j)k^u0H zDaBQt5&-vhTE9^O*u)b6F=Jh&c#yFBDkZu5yVcd-H^p>r$D49nE#Yg6R3>Ja*+bqg%cmC*nD$+|*XI5L7%$FnXJ@w8~gczW+frqWS=i z4*TPA!5C~Kj*#ExM7*}~#6Gp~W`M`(UNm9Rx-s85KAkdrIu(>~uuQgVo2K%=`>93S z`W^EzO$(aJcg*Kf8ThUJAkJ|B;otr*KZwh~sV@KJ0W)tP$Z7P66iaJ5%Kyn<9;jXS xaUR<#0XG6}1l$O?5pW~mMj-wO`~xy)K}>4u)x7`!002ovPDHLkV1gju*=GO% literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/eye_slash.png b/android/app/src/main/res/drawable-xxhdpi/eye_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3b415986d384a0d46948b40104e6ea54440d6f GIT binary patch literal 2886 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/hashtag.png b/android/app/src/main/res/drawable-xxhdpi/hashtag.png index 8017c826304b7c6fdc8f5b684dbc397f44b40c3d..e083190f9348dac1cfa45ea8a8cf09829911ac9c 100644 GIT binary patch literal 307 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 N002ovPDHLkV1iwFs{{Z5 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/icon_google.png b/android/app/src/main/res/drawable-xxhdpi/icon_google.png new file mode 100644 index 0000000000000000000000000000000000000000..02342b216c6be2883c3db6ad4a0be67a9c96f21a GIT binary patch literal 2844 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/icon_twitter.png b/android/app/src/main/res/drawable-xxhdpi/icon_twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..3faaeac18a0f4e1b157adb8b2c5017a9dbf76854 GIT binary patch literal 2517 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 ffOFcEjIXt16=GFlMuqARe>K! zl@e8n(mzd=Dzpk!q3I)0nm*J@X;GUhO@&%WAK+HB7RKfp0`|pVq6jF&!H~whF(@`M z*WR6eXU&?~*}d1-zDsZ_R=V0bXU?26-^`pdXXdUDcb+>V@P9P|6eODbMT!8&(W9>t&NqH*MhW>uCBBI=glphBD&30g6K<9$OnWJ*?Naa&{aV)CM5lR2#M{n zSoA|(=F_AH1UR>NVHsKShf>Ot{&p4vP!kG=zSFqBroO*zgOKkR;Jo5Uj_U9hUoIddZqTBh7Dr5Ne(5f@A&B))iXfApxs3-awd!<h`+Jc{ltZsSBX4x~toG!|4)0GTxG;WGT7pfg|%Bxnb3Y|E0{&^v-)rd*=6UqMw zGPdMQ9`{wHv|3##k|jDvux9G$t4bKf|( zKi?4GnUzA6s`5^m`S#2^j3n=2;k&kD6?Lm3mJ};gI;gS-uzl)Lv~vcPaA{&0E27?F zU-dUy?A!P6%UB(IT?$Cda?t@1F2H=Ag)g~|c$_XKvc*1|sE+x4)oX2!s5AzCqDlu< zb^*2z@0w;iH`aI#X$L5W@Ok%DuQri_T2&eYKbBKc7cT(91=ujiC&(CyZ!8dvllGyn zdZjULNG>WQ7b$$W`EwdCZPEqUB6&&IXc675^BkJD9t5>ohgRRr=X#Zwtc>NKsn>Up zpiZ5aF6{!G6&mRQjO&@PiHvYC%b7Z15gEohBoN5Esh!_UGe2Rl^HGQa8l$o0wCwD5 zjh8kFJMJg9AOa&Y%i&_X*ovehc{Fx}(|G3=M*f5-x29JG(T9g)(ffMofC{b|W}TiT zDn$inLjl?IRkLBk2JVL|lf&+C%vU%~rUx+e?ND{{x%J95^Oj^ij-74)s9lZOo#4>? zhHLmHJF3h;${xT&D8mKVRw~8DfhbR<&AfTbM_6RNs>@nJ+>%x00UV3%`~U~>DzyWg zAI~X_-1INCGR<;4eq}WFdhhj+lrQBKM!uD%dQWo?U|WJ{y)KE|_BVVBqVvLPveG0^<{bv|fDI@$1Y)P(t8B2R+cZXS@Us9?L zM5?%w${pUf>!YDY#zI7^_jEx7&KEJ$xN=JWNeKARJG)Mi2(1BVw|_}7&Fr%F&n{f} zY=5>ZzOkHLv@q#kGxhb==fYV=89*QMK$G(M*#(hbvK~)eKNx*B&MR2(9L}~s^Vdno za6ov4&$B&8Jg*ck0WyxaoLfmkzQDnc3|imR5cOOksV(QvUz*+C`SHInvqdVO%ecS( z?aHNP&tUIHAn*UvCty~Ik$nore+}Tirx*M1F6ADac#a`+`3Olvn=o*^lQad9rvmL< z>1isUi;I_x>@?f|3G?&053a`$Z_SuI;mQ7_u1@=u0JAXex=N*KBCv=+PB8e#;>D%| zyZP^%gwNu|i?hyO?ySUMm+3+nGs z#*ppOif_gM0#9Xz@j@!%^CulG%&Iy_D*rNDFYUL8V|{ z%N##G>Of7+C3G77yZInfyE`u9)v18i0kanSTDaxho7kGx-qhMtf_yY9WAqby_iq1K zuT$wX{ZLiaQ*PX}sf(AQ4wh>h8mcd4P)0dM`CV_zzBwF~S1x_ztHPi+bZHDiq&03)B7+VM4-FVJ@4rp;yT1lEdEH|`%DLv%>(wPCk0#tnK6Sv{NnQaq zXoJ>bPwx2%k#c^{tEVYe_jSB~u7l>}=98{#H6JO)6&%YfQfQ@MD{_abPCvM!8 zxzr9Cz@aST@qtEfMuZu4Enm*xD|ggB>_Q7-&;afYWCPr?$jER3W}v2JdH#VMG=RB- z4rolnTbS*)?H^GK*Y))rs;@o*pMPJI^8kjRhE+Hm}>PBU`)6hZX!=4Uhws5B<>&sv zx)yK540R$Je;$3g%eOyCz_R>jVup2Kd@gQ2b^c*f$`t^xoR_sN(+AkkEMR>A_!CBs s#$&THe|IZBX4CE6q3?{qAR2-H0WXi1(_#*&b^rhX07*qoM6N<$f>JvLwEzGB literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/lock.png b/android/app/src/main/res/drawable-xxhdpi/lock.png index 72797f8812e7631f573c073982f7a8ef046cd5c5..7b310acceccf810a9e7ca256dfed91acd008c1a4 100644 GIT binary patch delta 946 zcmV;j15Nz82ek(wiBL{Q4GJ0x0000DNk~Le0000y0000y2nGNE06P5Ha*-hue{4xa zK~!i3?O4xi6G0T7Hwi{*DvGzDUOf3Pw0i78S`6{93JGewOBKOu@hTMjaW~bbpnEVx zEIst7_FoVLFCw{#Vp}yO+40Rbh5VSe+1bsoB$+_z?!1}rec$_LcU}U_@MmM={ppt2 zUu+Au08E@`g5?B2PNoGR8Vp!Ne=zu#0=AuonayHx>8D9bU<&+Y)h)C=aTf($WP8zx3wd$LBA;e=L*qkPpp6LK=2LK-4E?xiB6Nq^;GQqCv zruLiODhgeW$*E^K3V%A2;SU_gY4-#o-i$Te=bIOIn zufT~Rg0Tflv0}HmgSjq-$QNhIXPC{*#T6Y(@ZmNVTSJ`%_>Nn%&Kcii>D1Q~yw#A( z|9a^hYqc+U%v;1qA&)P&vq2S+PS0fEN}TN-?(Ipi=sdIZHpU|dm#$_`$L?=rKoT3$PUY+ha$u{JS!KS`?v)?at;xY1w!n?+PeEhFg(W< zpHA+1MQG?yB!>^13h%8F9i1(goI(__-FPU9SE_D}ayrHNwJ6OAfA3Bb_S)~DRFmxkr+Ja?o?6-?uAYGR$y3cIa+JVas*2+LY4q(gbb5REA zL2bbY?9Y<2H^!qUo8c8YRkVnYiP!_Hu|M~@35(C8oqy zP9wM|=XM751p_;$e**NI3RPePVI)7+8-th?JO(DkqG%nCRlYG; zOnzH>@#?i01O6n%J2!7Awb?CAmTW=-*5L^;l9VxZ4r~92e@DIj$dVck=$cEX!-fl-IJ|W@aSIF+unrq8aN_XR;lwR4Ou#y9xWI|STZa?3z%T*p zu;BtH4sRV!+ycV{tiy&2oH)Gp@6x)z11GMqkAU6MeFd4gTkG(|S=uLP>Ky(L^_B(j U*sgTm000002uVdwM6N<$f*y6X^#A|> delta 951 zcmV;o14#U}2f7C#iBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj!@e{o4f zK~!i3?O97t6HydCXIcm1&Qr)<8;@t2+blMG$s{)c!*-NC-!>R!hSM{~eM*3bLYOQ9Ee+phs#G{X@ z*~oM?7cf4VJI=du7KnmYKwL(I2N(#v9FFzPiTYG#riV(UULv@{C3T28oklEjr6)!P zBX2FbDuS8{$YfrJ){DR9Ie~Tyrh@nPwzZ6f!{HT+P7vht`L-V`>vuqGJe{Yy&wem6yS*%L9 zj+Rg^m+M$vSHBrR5Wgnkkpuc3FeqwcxZ{{g=e`ioe$lhFMcEgLM3zOFjCM4EwSwAZ zcIKPRn|hPiFv}RTW_(#pvyH|(Du6JcU&;&s2nzGET+WUQ2`1le-=BW`fib8E;1}xOwnhPwj{QxXp~RCfSsO{GP3`; zX3Nz=X5~^=ZkVBI3g>2q^Y?(cBmbLk_z76{fV6`MPeumLe_oX8JQ9wlpFifUcfk(6 z;V0l1U^il~_5K9B?yw!cKLNWAd9C*+;B|-X@cjwcb;xVIKLM{hY=`epz^+4H>-`CM z-C;ZYhM$15uap42{CAM)rxv^3)TihF3k*N0R6=uB06~ZWLzO^wQr_@O$S+_gmyZ_v ZFaLxDW)Ts;4fOy3002ovPDHLkV1jeX$9Vt% diff --git a/android/app/src/main/res/drawable-xxhdpi/mail.png b/android/app/src/main/res/drawable-xxhdpi/mail.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9ad1b695e4af6b11f74b462f11c1ffa5d8b326 GIT binary patch literal 1199 zcmV;g1W@~lP)%Wo4`6o=297|{g+(G4J4sR)`4NOm4}3e=8eMU;oyiY`USgfTU5Wy2*xz1d%`?II5tr!A8OYB(}hoNFdTMGpFZFJ>xqs*%Ln$ zn>(Aib6@BD&Nuh^Ue5(kmx_RjfQo>MfQo>MfQmqeA|Qh7AfgyZWzQm-X8^=r0NfN* zZ~f(o*W_zO2yLpgv~W=ffnFbdf``)S9r}v+6A*LW%3bv=#C+@n9KXM~_)_*;lOLFD zPl#nv1dO$?CRw9PFu%rKPgYh(qAg8QUQ9}pRvxpi3uzqu1p=PAa@Xqv!X6@eg4}bc zRyAF)U3LksPEd9ku-I}TKkj67K_ZdN5I8(pbCoCE+U0tseY0`5kge%qww|}q{R`s} zEVt~we!aEYK4p* ziE6Of`n(d1Co@+~F#j;#>C@hYMZNwb36Ag2?G%XTxl=N0=iyhM3~T*S0A;LHdCeF*DHX=B|z9J3qaHSDaxze zu;A*eGf%6L71^MbM*N6r$5WZ9R@1hrlKroIcC8GtV2ZxC!Das3h6VFhi&kB~ZNR<+ ziN5FWigHXm&9n!T*~5Y55i*m>?DjCK+>HS7N(h)J7xTwTf8Tu3Xx9x3wmU2qZ$CYL zEO(F=tKWywHqf}y3~ds6autk97*!H`9XG`Gl?#hAwqK3jBMat^CnqP(a&ht3SWFve zC2gB338noweCQQHLYF~krgB- zg6?&x3UPy|?tNIe^LtSHM)R5y%tmHsXAOroz(2u;@yv?(rZSjHf8i~+s19c?*QHv> zA6+X|*=Ey%?anOPyS5(`n)XBJ*fwDE{dLJ+SKZo zq5avb`a5HW(j)#}EZT=i>?5KYxKiV>O2g#aQXxO>Z{J)_%LvPExM+j;S1z;Ch#!ZE zrQe&mjeXj_QnB@7*>+0_%ff8hgP&!t89MMp6F|GxqMcN0Rsh;UST^wBUjA{vJ+^~r zbLBQumHlZOVcCdG+tkGjt;bXU>!h)&!FQ#l{FGe3o$0m{mYrwXpYGar05tI<&E(gt zvD!hg>`O-o%c85af0pw)neHgzP6`XNr38mXrdRS6;a(vbrb7`9i%hTNzwdn!!BA_CmBA_CmBA_CmBGC2-{09U9%*}$VMQZ>6 N002ovPDHLkV1g8vNiF~Y literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/mention.png b/android/app/src/main/res/drawable-xxhdpi/mention.png index 29defc2cd2336da6addb8683f0b618c7abb8153b..3947ed674c8acd27b3ba7bca56f1fd14fe5d4b94 100644 GIT binary patch literal 2410 zcmV-w36=JVP)^l{-H6^ESmU{m>3O4{YwIcM5{mx>&Kdm>5^Ce6D_W3++ESSU587~dy^^P`#K z{-ep<%~4m(;NC4Ce21(oeVs}638)~NQzMpJqNk^XoBPVlp%-UkxtbufY;ZoGzwFF; zIm#6K43_MgCS*6k$}cd^9^0^1j1~%og(ez?SX(lfW>qaN?ZeW&Db%xuz82kPPtyu_!vd4HwZf7gAy=;T~28OpvDSrWDuMBAh z1n2Be`0VDQWADsM69lK0-djdCE4g?V7#~oIZH{UHg-;71?wKx59*Cl+;g)4^&%n_A zOsdCWY%U~#^S{Djef91gBTtNuj$#s(@hy%+q0$6 zGUn`@!=3x5i-i|5+R_wT-$4GOp7NfCWAp=-pfQv`jXmAp%$_zzE$ArfOWwHVpo~2W zp|gy+gBQzK(xuwBJ6M&~(2fS4bRyjv*kmZP!Dkk{M5&3Rts2>l2q9MOm;TDplPnIzl9sx?&|O>9&x)nJN^YvE#} zJ&qpo#tlR?L~VQehbG~0euZ=O0XUrvAx_|kMm)r;lzeB1$3pnBp@V@&NbBorAj6eZ zgPHUmK{JDo&e^o1r)OaJUL`As5Iqfr#YSU%UdetCO>JOFHtEp7_>idSYN5@lVTeh> zjz#zfr?6AUQv^jpg^sh~sBP>4`+8L{Rjrr@9aLZ)N4BI)_F-+(pksZuxlgqIwkK4 z8(1$C8|!r&R?7RnJ+p8!XSraXn<-93t&H#X4h-#5l6?;fuebY4s*^6tTl|L3Q@wCt zMIEQZi8D+$6*@CzJxPfGd0KnVlCjJcy)nl6-TO4~_`JHn6qt0WW@0*{sk2TYIM!f) z|N7T5dK0902}LrGl7FMn%;F3^ZXhEn#6!Fhq!g5?6I~@G?c-R3>B0?e%e;f4d^V;~ zP=Teq!y+F{npumNReAXzY)%x92n`OxMGeIqMmHVJ6~V-7b_=ff z6*exYN9h!$d!0W3GJR9dxJ-SlFq0H4bjPIxkG)%qJ(lQ_+&qxrv*`{hrcffl-Y|(C zOTMErxvMql-*K4~CDmCI)2IoLb$ZO)_fEpZ#4l;Q2sFB_L8MGfp{xg?#uPG!nk>YPUj}FHgOwS((md@+U)!Rh_Q?F3ugQ#h&j;I2+ zQBYywVyjhN)fZymEcP}N%NH*iX1UbufbP*H)?j+-s6Kz_4b`w-vthxUr)(TWP{?sN z*?7B7Jj83`sgAAm;P&m?L;I5Myl`Zh1IpPehY$ZIygF+g#~NIvi}4zt|3T+B&{e9A z)8Xk-;nx_bDIMpBixoMOG}Ar}Jh7prQdiHPUihZbFZSu#^YUBBaIVtv$aa3I*KHW9 zFursTZXIAt>?NH88OoQ-r2~d=olePvpB6@EN|Zc26C79M)VP%QAYcjYTl5LEnSdbl z97CY-b6=j~_hNuPqRXZ>PR@Dv^x?vvEquM2XfQ=Mz5PS4L2}($)zZTolQO0tJ%p6R z{_9$V0bEJ5ahQBZm=uo@j6XJWWa_i=90{>BHKKh?uXuU~Ky0QKTXF2sGX z_TM%wtxj#I?S{3^$05I*#^0dx=_@bq{8FPH4W;a1j0m1A(G-58QRqd097Y2ZhN?!p zTkJg@=4@byS2!Jm)E2iI3zxW;j9}DLpH#5wCf9YY`_TCKxOu8Hx~@Z+mR$G1)+b={ zC+n>MU_XtPk4!zPw{dnui81o<I9;0j31HgusU?%at9ebEr18!9{1tpb`fp7_PEX4}Awm zz!!{8{7Z3na5XOC4Y@5;QulDsH$6sUbdCje|BH~1tIAk+|F-uV__uH+^9+*>|El%5@unoD za7N;)$NEzX8c3zOpgP)Q^;?xw`~Ii?T$(fh`rn5+7mLbu=da(m{?wj5d%U=IZG3wK+9S{&f%XXe cKaIeD0Gooh&e6I~-v9sr07*qoM6N<$f>eLD)Bpeg literal 2249 zcmV;)2sZbLP)8b7sz*b7pQyjPtLrZ{rM?a#t!L&(m6+&BGJP!&0dK zIXdxmDz)^x@tl%QcCg+}o6gt6#}+Cl7rE_ zl_@7=fYzFNGTA05axd2RM!-(xsfsy>$c4e5!0@-)Tbr_gbum|YOl$*s`ZnAQ*LV?1 z&n`c7JSvpm16O;zJ=OTPIFeNxuy*anS;yR5rxyCwhzS&t_zbk&P-edtG$b_b_jpN9 zC!wdo=;?sxXf3WsD?M81KN7UP#!1}2V#U(`gh(a9sto8|n{808*Z}3vw@2YE$8W17 zvFWT@xh0uQ{%F&q`U3+4Q%8PNi~j`2ks?9Cq~29jT@_1Nab7)&LyT zmz36z*fJ2GaKe

_t`hD6uQ85cg-(9n>x z2OsbL;NW25o9_<1hS0joADi7t$oZwtM3Dhw(dKjez{1}slvRKEabHM>_LJ*;)!Mpr$c$}TE=AOlWAkgA37>~om(RrTsDd{X4z`re zEq1c=4d7VZ(>Jgit)F3$85dL=Z7|uS;orn6Wa$>T-0Y&*p3fPaZTstLMHd$3=(cU! zY7ZPd{BQ8i#A=V!I*C7qjo|2nF?Se)G4`JJRB{eluk7#*=uWS12BzO)+zG#5VBm6X zZ{NT&rSz-V=8Mbm85;cgdnxHJQme0zYq8hIOS%WqW{rVO+nveofRTQlfYL1;cQ>zR zx_<_c`tLIWY#k>l14p&I$~}GA=Ut^ZOIM{lkHx$!;|dC#Ez%T7mS$eo#jJQ&!LwV6g97IQt1a=|Z&xwbLPQ7v4qu}FEMfk}yp54W`3nJ?mk!s-70_og4sjlP2X zk_?h6L#z{Or$x*OV;t5Q-Lz+bcNxLPj{OuDW(FwLdIxq?zrxO7e(>q%+EYzW8@N^#4?kgDoR4JY)9P4ysR4LFsugU8y()lys-K6rOToNNfl&vbgXk+_4R=$$*wqhPH zWNcieKI_D~`FvwKOTNQmCGBhAZl5Wl!=bW3q7inR0$g2>WpE}&tK;^$EZy|kth?k3 zxKBn0gO>7NpM{eYfNKo`7nRKsK5tk`wqr6M*+i|xIW`>bhjnA!5sJl>0HYRV4d4uG z^J81L+i;vdqV?Zxew?Fv8!qaHbYtD6A~D%!)It`edz)^`1A{~G`quPgw_5(!mO%x4 zt__F#Vcl5w{2>l={!U?%`mn8<)Kn{_7DsHPzy&-2hX5|jY!nIiQX7udCv}m{kDC9G z4Oi2bBt_tM#jgkD1i7ljVe%6I65y@n_{-5yiCkyXksE%n;c#E#kk~i?lO;d**+^u$ zvOB;fF?jYE8PrgBafUT;we6V9ya2zWh68X2AnnewQLa!|$^2U-p8E>FIfZWN9+$)g ziayIL4+@B?dMty5m>6Kzbaem@0l84bLQ7GsV{HotUamvYsgfSX|OQ0fcp@Y|Z?zaTpk z=PU`i+YFssN6IB_spPx&po zx8VUiYQ0`rBF}-y+0&6~?qDc?2DpbOZf^L;it%$_9*X{-4Mk=7Bvzv_a3-QfJPPx& z49oHuD_fIqATT@zBA3f$f2@36jl9<|`8&W$pYBV&QNpy?&AG0tS7Qlp0i^JB* zPmI5}ohWGl8*wI{*LmK!zakeh1Mqu1e_SwdzSRx;a}8q2;#MHyI?0W2K%Gb@zCr&c-SI9j_o zH4Tw%8a|9q$4%%uBu&1^`0k6k>DRhiIR!-`K77afRc(M7_Edc6=CIw~nyg2pt5`}H zJxuGbf!lvNA9*a(TKq zhGek5ou13pY{1j@mT!CZnbmK({@r=Hi$!Kho#Ldl#A+_r=-f-+SE{5*WC%1cuqZGv zayT$B2^1&>#H^WP5|kZU&;Rm!7d~)a(Y2y*<&~b} z6MQ=+M^91y`1xng_82+a+g1NR#VmPndiIwX3C#%RD{Hq=855_S zSy;dgaT$l2gWNk-o73~d^lP27^~h=U2qGwGar Z7>(|mp4#v4yB`=z44$rjF6*2UngC`lhnWBX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/options.png b/android/app/src/main/res/drawable-xxhdpi/options.png new file mode 100644 index 0000000000000000000000000000000000000000..2622837a86f7a4877d7d05d771c9c7d95d6fdee5 GIT binary patch literal 3262 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/subscription_hashtag.png b/android/app/src/main/res/drawable-xxhdpi/subscription_hashtag.png deleted file mode 100644 index 5d4be58c77410b6365b723793fc451c99e4e7436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3Ea{HEjtmSN`?>!lvI6-g=trkqFS`VjM;ToNKOn^2wQ&9qu@Y| zO@i2C9f=8x6SgocbgPoyU?I14hSWv(DUypFeM1ZaoiCo?eswWxqSVVa4P&>}u8W#F irMleW?BopOnHkPZlw(_%;rbtFJAQo7T5n;2_ z@}4!$Ox3gA;9;b?9TL$-XdZF*HEddnQS(L$0)NU#?nar`b4*hq9w_qz1)VaOYsYcx z(uNbG=H1KW@FBP=Gi6+eQP_y263c2NlkrXxfD;g_wa!#RI z4c>FvIg=VT)zG1`F;Oi6d!F}`jLY70*o=nGlZ|!cl51lABBAI<3>x z&sxXUjKwQ68%vs%!9e+ikH(7DdWKC_#)bgi_ktf^9|7RDuDd@dw%j z6*c}-BgROy8jZwg41bJ4#rTN+03Q)(wGh}A($W`OVxpiTv{EUc)RNNI?#%VOyRFtc`Z6%1AfW!?^rZta!zgiqmHmL)Z zE*X&(C$n>`$#Ko>u-ZiOZPl^MI|i7DXIg`DMq?gbv92Dp`ibP*s$-XT4zR9;?Rv;$ z)9fZPs%LV#c9b6d)=k&>Q999Y#{f@GH_wG7L;RL7SzH0#YE|)gv~b^6C7ZlsfW2OC zAEuO(a$IiGYMHk~bH)`L3}V04*4AFOV{1ppF~GrKM7!0XeBt7PvNftKI=85xbS)Mx zx5*kPz;`mADD5m@#&(7!WE$Iwi|>s)t>ovIWdrOstG%XayR5QAct-)Zx70Ua@u4gn zIAe4A{e$1;J@G_Zv_#9w$};@S*aN`VD>~>gzUDedHxG^i7Rl;5ZN}HIoH%w*MMnFH zH)NSi_w*TWVS$k+%dl-6O5^(Tsw{C1~5*n>C z*mOF%;g{nJI%$COR$#C_82^#4Fom@x_h4l+-$`m zv9k&<7$K9&g3sRi7&nb?WSK;BBv{8u|7hm5nLBH0YKEk?agoYYFjf!ZB;ucbv$F5<@Ym?Q z8)2V=PsAcZ_%0SEVJoTbuG7b7%$z#~c18GDAK@zpzSs5j4_9W-&gpq-)5agMZkPIm z)g(3_F}c_#q1MHPr7O9?-$619W9!opX>6;nsqR%wRS^@#v_$B_RX8zt0sh=^{QXEe zJ=fk;w=cF{A=!vz4`p}EuFYdgHZGje!Unz#I(Ip)yt(|C{Z zYVfdqv82s4(yDwdb+1V>TV&LPqggLrTJk!Qc_~sm00uAs?S<1F+LD`U+O}_3Paq>1 zMUaVgw|Vq>TY+H z-Cxt{BN`vNl=HuW&Quw;B7>1m^x)B!dW<3V9@~J$+-P+7{(_*hWY=PYuDRF)M~~G1 zEX$pym)ucuvl(FDp?BRN`$n<5^z11&w(Z{CFUzCRwih0O?n@7afhBfqQhLU+WP=sS zix?snA*KvQ5`xED_TxkCa=uPDo-4aPZ`x zQ=#I7*!R9>Z>u7k045j{v6WEB&F<}lEx^^)2j*f>%94W+*AB`2MAG50c~&UL_*q08 z?yY8q#yz+wQy((7V2UcnJ9Q9aWox>Y;cIHDxuhyN!xa{mUp;INVjF2J#T-hqi4^$GqJgy2S=5!t9{ zS1?3b^;|u2f2uxL~bHSJ29?w6Fb__ zS-yOgr*EilJ-Xrj=zgX6u{<_SolzquUXwcPHLJ7SS-TD&-rF-4$72R;b)HweVt&9M z$iv`u3*NzbD8fAAd=737uR+&UMs}-hbe?c+!~e#As&xX~DU1Q9(7S(frMcSL8V;O{ zZWq5LVZgCMh)sa&*vY9#c8a0<-58A0a2lH~zJqo|ek{X>@tXK`BW(yp>kTZLe{sB< wj##;*+ENurRUlP?R0UEMNL3(JfeEj`zvl|qe4Q+8I{*Lx07*qoM6N<$g2YV=1ONa4 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/eye.png b/android/app/src/main/res/drawable-xxxhdpi/eye.png new file mode 100644 index 0000000000000000000000000000000000000000..a30e5d3a46fa4ec296c43e0da381b8fc9c149dca GIT binary patch literal 2802 zcmai$_dgVl1I7HYf?XKaYN0^$S#0Dvocx>}}xY5ZRqfq(bSwY`eJxa6j8 zpbh{K6EB}S(gOgXQavqovu8A0HlhERSwh;@Tgk8pW5#+lbvX1(L0%sWtwAf4qpO`t zD+7Vp5b1%a3ZAnPj|vTK&ytHLJUniL=^S^u5EXD{sP@}iT8w>QaM8!>#h@2^ViEO8 zRkNYv^OLSI26Lg!+gp-)C81uA-R7IAIA6+9YX}8NojG~=j}$x2|4l?9h*mZ=I=$*q zmPjJ5(VkN$>Uy-1E~lXGb$x!FlvIN7&=asJNKA5>#P&5{uaz$-;^mlO_Sik)2Ny&2 z0hnj+H*cB&EUWA)FtbDv)-)%6=1RcLJNzzT7Ts+7*fzR0i`=es`n(TU3wZ=3vRE=1 z=+*4CZR1jhQ2FCvvDHfq$4W5a!iz|EnYScj>&M+#XBrlcr<~ZC>3X#1^9jBqA)Uom zmi@0+l!myni`Ln{RZaWV2D^Tv(Yh*V@49fgBZ<-;G@HgHRFk3+IS1yf@bF?Hz2XJ2 z=QK-{0Md`>^5kCb`eLoJRUp11Obh-`G)_J*8t?2s(jzlrBh>OYd@^=vgJ)~*Ltc1` zAWB=rG1fAXuH? zBW40`n_wv8AK_VtMvXj_v=7}^7X|YSmCEDJw;&JwMX#%7*x3xM2gH_@-Cz$uecRUV zR9!BW0_SEIhv&X9my0<2Uh}nS@BOt&n)Yty6^-ra+7kbj{YsDdi*XscU&F`@Gje4< zBjzRiLB*3Ho%e$>_4S`V6->v&Oz=}uSkM&{%azk;vxP-C?rRGE=Ob)SJkL{iv}V2Q zou?;tpMOlT4%FcOs85t!5Fs+3kr-NtL>UeI!vF{)sDYRc= z$~oB>4Mf}Wj|U678{qEJ?_-Tr>pmx&$6t$1syaUXXk_)>%1l;a`{zi{YaCreb!X(u zkZ+oZX*kmoB)IHYI-H!bBOm6j{bIZ}Fa8gMa`wTay28HV(*q+zk`S}AHHgD1wfEC< zkI|-L;94qy{n^3c?oOSN!SMqxE5qp16Zll7oMT6qvl|5$JX|;z?6KZHlC(5#@oGmC z6|>Gx@m1ck>6aP5o=k=NmX>O1cDoV0*65ZEwREb&zW@x?Zz+#@p0GQa!SAbzN9K_~B*jgBonXGb~al z^P&b#bT=&6(wW-#lzeq)_vc|mYO^-B1?Scm7RAD=_^no-_q9&?^t;u`PYND87V0{d zClSaJ-SNg@zDsiUuk>73TWo-1nSfU<>~=t=d*P9DRG*WA1ti3%i8R?!?1RF!M3QQ&@0;$m!@_N z%Fy@j{9%87OL<{2Z-^)t9|w7=ZBV~>qQv6CPr+8BnncUdvTDRSrN|hyk$q5cP@HQW zBeA=hCE6vwHm_eij^;}wy>YX_-=0|Ct$xj!9D*0zaRTa_zTt-4v~a~V2eu{bYK{jP{yt?XH^<(Jtr(s=-C?(Kn8Z^O@##&^S`2ob=)## zEJ_ORw01DhB}fYaxrbEvzeS+y-(t+=KeTsW;xh!GEu{68>Q!dWF1zNw&^XKp0}u%^4GOOs|=guQwUJ*-1acioGjdU~u*khQ@>_R2k0=w9HFET&&$uOjrh>pP0UQ1#9*J?VnSeo5oZGG5 z|7;uptGzjr1t;1doYIU#PFIfZy3h)^C3`=Py2`aGAS-QU0h@Fm%l+$=Z@Ms>eraoh z2xj>5qGw*l(KqJ0ss~cv1y+$;d`dBH}f2A1m9DP*WfRCQ^QlbDnBkctVEGeA=sDeRbX!U&{;zW?-2f3!n_2z&#ExYj& zpX9#?`_eCohshCwB*m%Ag9&}C(9W|^Mk8XCKtl3o`Dbr+@cbQaXcq8X+hreN9t!Y oqhIA4X0+S?Zx%XZ+AnC@mpqd{An?!so>+jMwxL#~hC}5406ySV%K!iX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/eye_slash.png b/android/app/src/main/res/drawable-xxxhdpi/eye_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7f41cc164474f07811f185d893cab2be8fc531 GIT binary patch literal 3859 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 VZGtKO#mWEx002ovPDHLkV1g!uevkkF literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/hashtag.png b/android/app/src/main/res/drawable-xxxhdpi/hashtag.png index 1a88b82f1baefb4e5c926cc4a6a283e90fd76296..c79e0c6bac1e26f7e55df53e0880bddf27870d52 100644 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdl8)Ea{HEjtmSN`?>!lvNA9*>U+94 zhEy=Vy<^DNy*J&Hq?Z z^KIkJ^ZE1tGKJaKH&nDT^9ZmO#5FQ5VmPO5;2?6Kl9jE4$zuHhhCqhrq7n*R5B4w# z7VN2wZ+jkJ7uQ(PiLT!A{^r`>GB;}z_c*OSU(J6+TPC4Fqv10bVPlzH80Ul&R@~9> r*N=q}(`{h!|MxdAZ9Kq0oKfaSw##KLj9>g67?cd2u6{1-oD!MU delta 382 zcmeyt)W)pX8Q|y6%O%Cdz`(%k>ERLtq#Zz*gAGWo$}GG$QBk1@R#z%42z|cjS6hRIYV=uV#nqpa?cOaGU4Q3S^5n}OrWsi7EV}mON;?0Ez+0KTEEYRw z8lS!|Y@oM(qsh~x`nD~%yi0Qa#^oyfntNyc>;Hel85l!Y?mkjHa5k`1jw3*{xVxRf z-2G~$fcV>t^PZSnm-OSz2 zVC{Xh(L!E<>sq0mL+F}M6=nxd@oL?ZV-cCY;}erWz)r`bx0@Rt35CZoFlm{usHl!_ X;H|dkkN4sR1}TH5tDnm{r-UW|Kna{u diff --git a/android/app/src/main/res/drawable-xxxhdpi/icon_facebook.png b/android/app/src/main/res/drawable-xxxhdpi/icon_facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..d19bdb238ff714c9d87e03ca0d634f44f84f0cb5 GIT binary patch literal 1499 zcmb_cc{tPw0R7GEkReU$PL62Co%>q1F^-wsIbudLMaC5gJELXHPHC1Dp|)H@?lhK_ z3S~wJ%Q%wc94khMkQ`IY+JE=&{o}p&eeZkU`|Eu#&C}gkTvT2Z0042c3(EUI3I9Sw z_<(2clgtkULbP|Y2Y~uavG3=F06-`kjk5P4gH{T$VG6!-)P=q%-Tc$fnxgVHB_exG zOTvV(!v_JdNm(NdsoW81_m-ai@g|H{{o7ajwVo~X#+(CJN{rTa$iNsYT|GXYHJ%rG z`hDI+=w$pKaaIkV>hkL@?H7!t3>fYn%KoY08$)3GE!ili2PaW6U)e@#o$6{bc@+Ms zs$yNK-()H=leY@huLz*68>gQWsQF|2#|I zkV4r3_cC{71cfsnka&i*x;>Gev=vQ{lxOZPLsj$^{K);zos{Y6h2gRrfTb2>P06IQ z`Vr?`WvOC{CMlNQQmuCmubHVD|mH849$jB^@5Ck=k);%u>3p6}4!5Q&k zbLj6Mg5^@Sy8F3BDG`~w-L3cf`4(IdsNPW`g!h)t)zj5cw+P|KXo7Ck2Iw7Gg|R3P zpOw}+rQn3mrrFpO8pPJ(qsI-wN@9(8!RE_-zWg=u?vhuFjR?q#pJ&+}HSN~UkXIH8 z85;rCdNZF|_H1op^>?0FsZJIZ?OV^>%6Vz)Ym|g#5``32FR}O=o>ef?UIJq(2Yi@O zv^y8iN=`brtn_2Fu!ku5qK0v}T$Gt^^G3*a0pLI!`~3!TYQF6nqcaYCjvV@V011Y& z@g$7Dx#?h`=AL^(>r&Gxf}oa1uaQhx^h#WktzWIJI2J^N-QBO6@n<%rj`Vz13uX4E zOs@pu(89CZZ#V%rxulEIM2uzI*r?D|44YkANa|R~kvS19nMPULEw}Wq;4yGr&`ayB zenVQSYO4|3l|f|-%E__2F(4L>h_-h)Siu$*KgrWFdr-5uHm5w4&fM+SutpRkJk|FS zDNUxV8N2E^+*S5n1^AP9Pn{T>)pVEmPU<^NVnHQDuKCU{GbrJ~DC63>z+WpN-Bc1^ zCtq`s+0~%z8KD_*nq``rLQF zj>DLrISD60(I3OdF*-%#AJl}Pm+kd}*8}>SYL-Rd>{MXbwW&1&4aSKa-G+4r#SbJP zK)NE+c}C^R{c(R~AJlXtT~*`p4b`Aoz~}fTgX3{uvz`{xA?C&io}ll+o9*is^Db0} z3tzspq@hAbc`eKpuSWF`-isM}`HiZP^lvkW_Q46%bwQg~Ik(X~^UCQTxLA3k9HUt$ z(P~={Pb=`&B$lhutWrvrn-5R?@HL$$VzdTi8XTl? z_HQ&AD3Hd$p>}Pe9vJY#U5@@hz-K(5zz+5}mMS@C`F3N?l14>ZY zfYjr)GC0sLipYi(6H?U?pv!(5ci@1Kwv{H7`oC673n1=sd&S3IC^*VU){WgfMRk*A zxvXF$2xpK0%>PgLh?W|={eo;6NRFe1j49U9#*+BKla(v&|5KOY=6pWfZB zTtBvOoA!DDh9_89!YLXV2Cw%YD)-GJgSvx_I1P#o0TX>IB*7soC%rp{;UJZRw+7IT K?x6 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 R`JVs)002ovPDHLkV1g=43(Noj literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/icon_google.png b/android/app/src/main/res/drawable-xxxhdpi/icon_google.png new file mode 100644 index 0000000000000000000000000000000000000000..7693fdfc31fc91ccb15ec5beab89b754dc95118f GIT binary patch literal 3764 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 n>=HqHAL0@UuqL7zH_WFIG?v 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/key.png b/android/app/src/main/res/drawable-xxxhdpi/key.png new file mode 100644 index 0000000000000000000000000000000000000000..9879f42682ca643c23080fa5102fb54e22cbdaf9 GIT binary patch literal 3468 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 qm-=}2U-3mdrx^SY(PWDK6JelF{r5}E*q_DWX( delta 1179 zcmV;M1Z4a737rWciBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-jN{_e^g0C zK~#7F?ORPqR8bVZ=V?u;go#E>Bt(k{+}Xy;g|!F*#h}I?9CJ2NErQl9qD9cUMO09l zQ|3%9Owna7ENYRs5h5xIA&Z!#!XKt)-sxN${CoGlnfu-wf1cOXn{&=P-*>)q-hKBv z46s%Ddk~NB!6a)yG>C-+A1m(Fo#v-EoE6)VzipDR1$p(>Ose4-D3_Lf-;8@}ab*m?j01;{+a(%fi zaxg_J{&QeBL5m%KzNxtwL&L0eTKnqRt9&C)Ya9ce?+mv!^4FWlizDilU*WF8bvV+Hh}3u#G3Z@=J5rag9}#z z3=9kuC4SD16WM)IY+AewVCOs9nqEp{1dgtUu_Gq3+ji>-iTbI$w5Y1SzJ6AaA}5op zHQ>juxyyFN^RAZ!phmTL&Ya)F@1+hslU2g8IR}|P7rWyL=;;|Ke@~`oJ|eOmA|Of} z>j*cs@aI+J&(%gnLRU2Qn36P!?g3!G0|mwVTU+ZBB7ZiU;|WNnX0J$#2N*5hW<=Z; z&&l%~nOviyVmJrRMdZuH=4b*kJH2nTYL{C;08+GJsq%WmlG$L5)0$9d#bgQEDeiW% zQ*<-|Gf6lsES{K=f1>xiE}j?6bMoAl;<qkqswN_=3%m05o!Y7cwllpyTV{l8<@0lwwFY zWh0?1z|hc8K)PK;e4h=_t>0wqgE$A4{pTk3%B;!)BofoofAc*u?wdJy~U%xk{Vw}1?YUUj39aMK}~e=Y5u(byY$6IH8l(2szMT7Hbx6X3_Ls??+> zKt(M-#_9?1V^>vb(i5PfmLFsF1o*M5DmCc|P*KZ|aj|*={Mc2Mn)C#ysO864Jpq2~ zs!C0I0#wxUW2~M4KXz56Cgm?i===8y`iYG7YjYLUJjK$NA{DBsl?9;R22~Q!9aW(9 t8n4%Y_1c-$;-x2GwUl13IGcU~{sHg;Rhp}qnmqsj002ovPDHLkV1hb}F3|u0 diff --git a/android/app/src/main/res/drawable-xxxhdpi/mail.png b/android/app/src/main/res/drawable-xxxhdpi/mail.png new file mode 100644 index 0000000000000000000000000000000000000000..780afd4d9f1a856f1b8dfcedad2ec8bebc045c1a GIT binary patch literal 1568 zcmV+*2H*LKP)7%Q6vt;av5iy&2q7v&g~9=ZAZ^^(PFkV3E)7-QhjkW36{~ zy^eQnZ|#@M?0oFZdq4l@&1AnAqdy`*1c(3;AOb{y2oM1xKm>>Y5g-DcMS#1x+m|@} z9B29%V-i?<;u>T8f?!=|bJ z;Gx$j5cE|g02{c%Hm(OXy@O{E_4V|ZTxuC3qx{8rwW>mPh^pC3jwvJd>B`x40y zSYBU^9ZWsrbu7;S`xB{QW{5XnleFK^@6PW}41E|>HO3Am_ukqxX2I5vgkTSBZyVpj zg%jKB0kwkl1Tc2w$b&jFzLJ9p#zKZ*CxWI%{6V7w$>ZBwVjlLn{nB0ldEn}wH;|#^b5p^}IeK3~>_d3|nm#oS*PAmFor=J8*aqroro0gJiy} zMwl`H$WU?aX#}+q)Y2%oc-uBW*7rE2Jl9zv7oy6q4!-?2gY*F z{^c5bE0@g-XS12>F7`WCdjg2P;y>QG?DUAH@v&B_v8*~~d<K9%nTRQ2vfv7 zka}E!= zV_9{AeFELNt+12bkw|YNRcHPongUP`DAkDD2wCQkhGlGw#*-(R!2c$y$GVd0j=~Dt zaMhV@ZYn?=7}bc|h+1Q#VB$Dj0En24wjM)_y;xG+8Eajm^GydR9om5!L{06j*%OSjB>`KRI`-w!c?P zSj8XpZla<)bJ@$^ zSurRI#0L0{0C+HH%G$VN^T49O#0G$(Ky0(TysRgmANU?$bB8QG{iM9vj_o?&4?j9_ z8ornCn%(yj(0^Aj_*@Eo_M`)(LM{>kB0vO)01+SpM1Tko0U|&IhyW3&k--0RJ!l$8 Sk}HV-0000 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 literal 3242 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 C-?F{{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/options.png b/android/app/src/main/res/drawable-xxxhdpi/options.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a4f02131f10bc27081ed06d957c198c409891b GIT binary patch literal 4580 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⁡?bEGySN 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 - - { - loading - ? - : {title} - } - - + { + loading + ? + : {title} + } + ); } } diff --git a/app/containers/Sidebar.js b/app/containers/Sidebar.js index bec5be29..975606dc 100644 --- a/app/containers/Sidebar.js +++ b/app/containers/Sidebar.js @@ -85,7 +85,7 @@ const styles = StyleSheet.create({ const keyExtractor = item => item.id; @connect(state => ({ - server: state.server.server, + Site_Name: state.settings.Site_Name, user: { id: state.login.user && state.login.user.id, language: state.login.user && state.login.user.language, @@ -101,7 +101,7 @@ export default class Sidebar extends Component { static propTypes = { baseUrl: PropTypes.string, componentId: PropTypes.string, - server: PropTypes.string.isRequired, + Site_Name: PropTypes.string.isRequired, user: PropTypes.object, logout: PropTypes.func.isRequired, appStart: PropTypes.func @@ -289,7 +289,7 @@ export default class Sidebar extends Component { render() { const { showStatus } = this.state; - const { user, server, baseUrl } = this.props; + const { user, Site_Name, baseUrl } = this.props; if (!user) { return null; @@ -315,7 +315,7 @@ export default class Sidebar extends Component { {user.username} - {server} + {Site_Name} - - iconLeft = (name) => { - const { testID } = this.props; - return this.icon({ - name, - onPress: null, - style: { left: 0 }, - testID: testID ? `${ testID }-icon-left` : null - }); + get iconLeft() { + const { testID, iconLeft } = this.props; + return ( + + ); } - iconPassword = (name) => { + get iconPassword() { + const { showPassword } = this.state; const { testID } = this.props; - return this.icon({ - name, - onPress: () => this.tooglePassword(), - style: { right: 0 }, - testID: testID ? `${ testID }-icon-right` : null - }); + return ( + + + + ); } tooglePassword = () => { - const { showPassword } = this.state; - this.setState({ showPassword: !showPassword }); + this.setState(prevState => ({ showPassword: !prevState.showPassword })); } render() { + const { showPassword } = this.state; const { label, error, secureTextEntry, containerStyle, inputRef, iconLeft, inputStyle, testID, placeholder, ...inputProps } = this.props; - const { showPassword } = this.state; return ( - {label ? {label} : null } + {label ? {label} : null} - {iconLeft ? this.iconLeft(iconLeft) : null} - {secureTextEntry ? this.iconPassword(showPassword ? 'eye-off' : 'eye') : null} + {iconLeft ? this.iconLeft : null} + {secureTextEntry ? this.iconPassword : null} {error.error ? {error.reason} : null} diff --git a/app/i18n/locales/en.js b/app/i18n/locales/en.js index 9f67b428..74563eed 100644 --- a/app/i18n/locales/en.js +++ b/app/i18n/locales/en.js @@ -121,14 +121,16 @@ export default { Choose_from_library: 'Choose from library', Code: 'Code', Collaborative: 'Collaborative', + Confirm: 'Confirm', Connect: 'Connect', Connect_to_a_server: 'Connect to a server', Connected: 'Connected', Connecting: 'Connecting...', + Continue_with: 'Continue with', Copied_to_clipboard: 'Copied to clipboard!', Copy_Message: 'Copy Message', Copy_Permalink: 'Copy Permalink', - Create_account: 'Create account', + Create_account: 'Create an account', Create_Channel: 'Create Channel', Create_a_new_workspace: 'Create a new workspace', Create: 'Create', @@ -140,12 +142,14 @@ export default { Description: 'Description', Disable_notifications: 'Disable notifications', Direct_Messages: 'Direct Messages', + Dont_Have_An_Account: 'Don\'t have an account?', Do_you_really_want_to_key_this_room_question_mark: 'Do you really want to {{key}} this room?', edit: 'edit', erasing_room: 'erasing room', Edit: 'Edit', Email_or_password_field_is_empty: 'Email or password field is empty', Email: 'Email', + email: 'e-mail', Enable_notifications: 'Enable notifications', Everyone_can_access_this_channel: 'Everyone can access this channel', Error_uploading: 'Error uploading', @@ -161,7 +165,6 @@ export default { Group_by_type: 'Group by type', Has_joined_the_channel: 'Has joined the channel', Has_left_the_channel: 'Has left the channel', - I_have_an_account: 'I have an account', Invisible: 'Invisible', Invite: 'Invite', is_a_valid_RocketChat_instance: 'is a valid Rocket.Chat instance', @@ -175,8 +178,11 @@ export default { Leave_channel: 'Leave channel', leaving_room: 'leaving room', leave: 'leave', + Legal: 'Legal', Livechat: 'Livechat', Login: 'Login', + Login_error: 'Your credentials were rejected! Please try again.', + Login_with: 'Login with', Logout: 'Logout', Members: 'Members', Mentioned_Messages: 'Mentioned Messages', @@ -197,7 +203,6 @@ export default { N_users: '{{n}} users', name: 'name', Name: 'Name', - New_in_RocketChat_question_mark: 'New in Rocket.Chat?', New_Message: 'New Message', New_Password: 'New Password', New_Server: 'New Server', @@ -222,7 +227,6 @@ export default { Only_authorized_users_can_write_new_messages: 'Only authorized users can write new messages', Open_emoji_selector: 'Open emoji selector', Open_Source_Communication: 'Open Source Communication', - Or_continue_using_social_accounts: 'Or continue using social accounts', Password: 'Password', Permalink_copied_to_clipboard: 'Permalink copied to clipboard!', Pin: 'Pin', @@ -277,6 +281,7 @@ export default { Send_message: 'Send message', Server: 'Server', Servers: 'Servers', + Set_username_subtitle: 'The username is used to allow others to mention you in messages', Settings: 'Settings', Settings_succesfully_changed: 'Settings succesfully changed!', Share_Message: 'Share Message', @@ -308,6 +313,7 @@ export default { topic: 'topic', Topic: 'Topic', Try_again: 'Try again', + Two_Factor_Authentication: 'Two-factor Authentication', Type_the_channel_name_here: 'Type the channel name here', unarchive: 'unarchive', UNARCHIVE: 'UNARCHIVE', @@ -330,13 +336,13 @@ export default { User_was_set_role_by_: '{{user}} was set {{role}} by {{userBy}}', Username_is_empty: 'Username is empty', Username: 'Username', + Username_or_email: 'Username or email', Validating: 'Validating', Video_call: 'Video call', Voice_call: 'Voice call', Welcome: 'Welcome', - Welcome_title_pt_1: 'Prepare to take off with', - Welcome_title_pt_2: 'the ultimate chat platform', Welcome_to_RocketChat: 'Welcome to Rocket.Chat', + Whats_your_2fa: 'What\'s your 2FA code?', Yes_action_it: 'Yes, {{action}} it!', Yesterday: 'Yesterday', You_are_in_preview_mode: 'You are in preview mode', diff --git a/app/i18n/locales/pt-BR.js b/app/i18n/locales/pt-BR.js index bce2d48e..3232282b 100644 --- a/app/i18n/locales/pt-BR.js +++ b/app/i18n/locales/pt-BR.js @@ -128,10 +128,12 @@ export default { Choose_from_library: 'Escolha da biblioteca', Code: 'Código', Collaborative: 'Colaborativo', + Confirm: 'Confirmar', Connect: 'Conectar', Connect_to_a_server: 'Conectar a um servidor', Connected: 'Conectado', Connecting: 'Conectando...', + Continue_with: 'Entrar com', Copied_to_clipboard: 'Copiado para a área de transferência!', Copy_Message: 'Copiar Mensagem', Copy_Permalink: 'Copiar Link-Permanente', @@ -147,12 +149,14 @@ export default { Description: 'Descrição', Disable_notifications: 'Desabilitar notificações', Direct_Messages: 'Mensagens Diretas', + Dont_Have_An_Account: 'Não tem uma conta?', Do_you_really_want_to_key_this_room_question_mark: 'Você quer realmente {{key}} esta sala?', edit: 'editar', erasing_room: 'apagando sala', Edit: 'Editar', Email_or_password_field_is_empty: 'Email ou senha estão vazios', Email: 'Email', + email: 'e-mail', Enable_notifications: 'Habilitar notificações', Everyone_can_access_this_channel: 'Todos podem acessar este canal', Error_uploading: 'Erro subindo', @@ -168,7 +172,6 @@ export default { Group_by_type: 'Grupos por tipo', Has_joined_the_channel: 'Entrou no canal', Has_left_the_channel: 'Saiu da conversa', - I_have_an_account: 'Eu tenho uma conta', Invisible: 'Invisível', Invite: 'Convidar', is_typing: 'está digitando', @@ -180,8 +183,11 @@ export default { Leave_channel: 'Sair do canal', leaving_room: 'saindo do canal', leave: 'sair', + Legal: 'Legal', Livechat: 'Livechat', Login: 'Entrar', + Login_error: 'Suas credenciais foram rejeitadas. Tente novamente por favor!', + Login_with: 'Login with', Logout: 'Sair', Members: 'Membros', Mentioned_Messages: 'Mensagens mencionadas', @@ -224,7 +230,6 @@ export default { Only_authorized_users_can_write_new_messages: 'Somente usuários autorizados podem escrever novas mensagens', Open_emoji_selector: 'Abrir seletor de emoji', Open_Source_Communication: 'Comunicação Open Source', - Or_continue_using_social_accounts: 'Ou continue usando redes sociais', Password: 'Senha', Permalink_copied_to_clipboard: 'Link-permanente copiado para a área de transferência!', Pin: 'Fixar', @@ -278,6 +283,7 @@ export default { Send_audio_message: 'Enviar mensagem de áudio', Send_message: 'Enviar mensagem', Server: 'Servidor', + Set_username_subtitle: 'O usuário é utilizado para permitir que você seja mencionado em mensagens', Settings: 'Configurações', Settings_succesfully_changed: 'Configurações salvas com sucesso!', Share_Message: 'Compartilhar Mensagem', @@ -306,6 +312,7 @@ export default { topic: 'tópico', Topic: 'Tópico', Try_again: 'Tentar novamente', + Two_Factor_Authentication: 'Autenticação de dois fatores', Type_the_channel_name_here: 'Digite o nome do canal', unarchive: 'desarquivar', UNARCHIVE: 'DESARQUIVAR', @@ -328,12 +335,12 @@ export default { User_was_set_role_by_: '{{user}} foi definido como {{role}} por {{userBy}}', Username_is_empty: 'Usuário está vazio', Username: 'Usuário', + Username_or_email: 'Usuário ou email', Video_call: 'Chamada de vídeo', Voice_call: 'Chamada de voz', Welcome: 'Bem vindo', - Welcome_title_pt_1: 'Prepare-se para decolar com', - Welcome_title_pt_2: 'a melhor plataforma de chat', Welcome_to_RocketChat: 'Bem vindo ao Rocket.Chat', + Whats_your_2fa: 'Qual seu código de autenticação?', Yes_action_it: 'Sim, {{action}}!', Yesterday: 'Ontem', You_are_in_preview_mode: 'Está é uma prévia do canal', diff --git a/app/i18n/locales/ru.js b/app/i18n/locales/ru.js index b7bf873a..7fb8a0cc 100644 --- a/app/i18n/locales/ru.js +++ b/app/i18n/locales/ru.js @@ -200,7 +200,6 @@ export default { Online: 'Онлайн', Only_authorized_users_can_write_new_messages: 'Только авторизованные пользователи могут писать новые сообщения', Open_emoji_selector: 'Открыть селектор emoji', - Or_continue_using_social_accounts: 'Или продолжить, используя социальные учетные записи', Password: 'Пароль', Permalink_copied_to_clipboard: 'Постоянная ссылка скопирована в буфер обмена!', Pin: 'Прикрепить сообщение', @@ -305,8 +304,6 @@ export default { Video_call: 'Видеозвонок', Voice_call: 'Голосовой вызов', Welcome: 'Добро пожаловать', - Welcome_title_pt_1: 'Приготовьтесь к взлету с', - Welcome_title_pt_2: 'передовой чат-платформой', Yes_action_it: 'Да, {{action}} это!', Yesterday: 'Вчера', You_are_in_preview_mode: 'Вы находитесь в режиме предварительного просмотра', diff --git a/app/i18n/locales/zh-CN.js b/app/i18n/locales/zh-CN.js index 355435e3..a5352d3c 100644 --- a/app/i18n/locales/zh-CN.js +++ b/app/i18n/locales/zh-CN.js @@ -222,7 +222,6 @@ export default { Only_authorized_users_can_write_new_messages: '只有经过授权的用户才能写新消息', Open_emoji_selector: '打开emoji选择器', Open_Source_Communication: '开源沟通', - Or_continue_using_social_accounts: '或者继续使用社交账号', Password: '密码', Permalink_copied_to_clipboard: '永久链接已复制到剪贴板!', Pin: '订住', @@ -333,8 +332,6 @@ export default { Video_call: '视频电话', Voice_call: '语音电话', Welcome: '欢迎', - Welcome_title_pt_1: '准备起飞', - Welcome_title_pt_2: '终极聊天平台', Welcome_to_RocketChat: '欢迎来到 Rocket.Chat', Yes_action_it: '是的,{{action}}它!', Yesterday: '昨天', diff --git a/app/index.js b/app/index.js index 4acf28f3..c6cb8f6f 100644 --- a/app/index.js +++ b/app/index.js @@ -1,6 +1,8 @@ import { Component } from 'react'; -import { Linking, Platform, Dimensions } from 'react-native'; +import { Linking, Platform } from 'react-native'; import { Navigation } from 'react-native-navigation'; +import { Provider } from 'react-redux'; +import { gestureHandlerRootHOC } from 'react-native-gesture-handler'; import store from './lib/createStore'; import { appInit } from './actions'; @@ -10,8 +12,6 @@ import { deepLinkingOpen } from './actions/deepLinking'; import parseQuery from './lib/methods/helpers/parseQuery'; import { initializePushNotifications } from './push'; -const isAndroid = () => Platform.OS === 'android'; - const startLogged = () => { Navigation.setRoot({ root: { @@ -57,6 +57,30 @@ const startNotLogged = () => { }); }; +let SetUsernameView = null; +const startSetUsername = () => { + if (SetUsernameView == null) { + SetUsernameView = require('./views/SetUsernameView').default; + Navigation.registerComponentWithRedux('SetUsernameView', () => gestureHandlerRootHOC(SetUsernameView), Provider, store); + } + Navigation.setRoot({ + root: { + stack: { + children: [{ + component: { + name: 'SetUsernameView' + } + }], + options: { + layout: { + orientation: ['portrait'] + } + } + } + } + }); +}; + const handleOpenURL = ({ url }) => { if (url) { url = url.replace(/rocketchat:\/\/|https:\/\/go.rocket.chat\//, ''); @@ -83,15 +107,17 @@ export default class App extends Component { Navigation.setDefaultOptions({ topBar: { backButton: { - icon: { uri: 'back', scale: Dimensions.get('window').scale } + showTitle: false + }, + leftButtonStyle: { + color: '#FFF' + }, + rightButtonStyle: { + color: '#FFF' }, title: { - color: isAndroid() ? '#FFF' : undefined - }, - background: { - color: isAndroid() ? '#2F343D' : undefined - }, - buttonColor: '#FFF' + fontFamily: Platform.OS === 'ios' ? 'System' : 'sans-serif-medium' + } }, sideMenu: { left: { @@ -121,6 +147,8 @@ export default class App extends Component { startNotLogged(); } else if (root === 'inside') { startLogged(); + } else if (root === 'setUsername') { + startSetUsername(); } } } diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js index 92c42788..5cee9833 100644 --- a/app/lib/rocketchat.js +++ b/app/lib/rocketchat.js @@ -11,7 +11,7 @@ import log from '../utils/log'; // import * as actions from '../actions'; import { - setUser, setLoginServices, removeLoginServices, loginRequest, loginSuccess, loginFailure, logout + setUser, setLoginServices, loginRequest, loginSuccess, loginFailure, logout } from '../actions/login'; import { disconnect, connectSuccess } from '../actions/connect'; import { setActiveUser } from '../actions/activeUsers'; @@ -125,18 +125,34 @@ const RocketChat = { } }, async loginSuccess(user) { - try { - if (!user) { - const { user: u } = reduxStore.getState().login; - user = Object.assign({}, u); - } + if (!user) { + const { user: u } = reduxStore.getState().login; + user = Object.assign({}, u); + } - // TODO: one api call - // call /me only one time + // TODO: one api call + // call /me only one time + try { if (!user.username) { - const me = await SDK.api.get('me'); + // get me from api + let me = await SDK.api.get('me'); + // if server didn't found username + if (!me.username) { + // search username from credentials (sent during registerSubmit) + const { username } = reduxStore.getState().login.credentials; + if (username) { + // set username + await RocketChat.setUsername({ username }); + me = { ...me, username }; + } + } user = { ...user, ...me }; } + } catch (e) { + log('SDK.loginSuccess set username', e); + } + + try { if (user.username) { const userInfo = await SDK.api.get('users.info', { userId: user.id }); user = { ...user, ...userInfo.user }; @@ -362,28 +378,6 @@ const RocketChat = { } })); - SDK.driver.on('meteor_accounts_loginServiceConfiguration', (error, ddpMessage) => { - if (ddpMessage.msg === 'added') { - this.loginServices = this.loginServices || {}; - if (this.loginServiceTimer) { - clearTimeout(this.loginServiceTimer); - this.loginServiceTimer = null; - } - this.loginServiceTimer = setTimeout(() => { - reduxStore.dispatch(setLoginServices(this.loginServices)); - this.loginServiceTimer = null; - return this.loginServices = {}; - }, 1000); - this.loginServices[ddpMessage.fields.service] = { ...ddpMessage.fields }; - delete this.loginServices[ddpMessage.fields.service].service; - } else if (ddpMessage.msg === 'removed') { - if (this.loginServiceTimer) { - clearTimeout(this.loginServiceTimer); - } - this.loginServiceTimer = setTimeout(() => reduxStore.dispatch(removeLoginServices()), 1000); - } - }); - SDK.driver.on('rocketchat_roles', protectedFunction((error, ddpMessage) => { this.roles = this.roles || {}; @@ -432,8 +426,8 @@ const RocketChat = { return call('registerUser', credentials); }, - setUsername({ credentials }) { - return call('setUsername', credentials.username); + setUsername({ username }) { + return call('setUsername', username); }, forgotPassword(email) { @@ -622,7 +616,7 @@ const RocketChat = { return setting; }); }, - _filterSettings: settings => settings.filter(setting => defaultSettings[setting._id] && setting.value), + _filterSettings: settings => settings.filter(setting => defaultSettings[setting._id] && (setting.value || setting.valueAsString || setting.valueAsNumber || setting.valueAsBoolean)), parseEmojis: emojis => emojis.reduce((ret, item) => { ret[item.name] = item.extension; item.aliases.forEach((alias) => { @@ -805,6 +799,30 @@ const RocketChat = { } catch (error) { console.warn(error); } + }, + async getLoginServices(server) { + try { + let loginServicesFilter = []; + const loginServicesResult = await fetch(`${ server }/api/v1/settings.oauth`).then(response => response.json()); + // TODO: remove this after SAML and custom oauth + const availableOAuth = ['facebook', 'github', 'gitlab', 'google', 'linkedin', 'meteor-developer', 'twitter']; + if (loginServicesResult.success && loginServicesResult.services.length > 0) { + const { services } = loginServicesResult; + loginServicesFilter = services.filter(item => availableOAuth.includes(item.name)); + const loginServicesReducer = loginServicesFilter.reduce((ret, item) => { + ret[item.name] = item; + return ret; + }, {}); + reduxStore.dispatch(setLoginServices(loginServicesReducer)); + } + return Promise.resolve(loginServicesFilter.length); + } catch (error) { + console.warn(error); + return Promise.reject(); + } + }, + getUsernameSuggestion() { + return SDK.driver.asyncCall('getUsernameSuggestion'); } }; diff --git a/app/presentation/RoomItem.js b/app/presentation/RoomItem.js index 3e39558f..6c16105b 100644 --- a/app/presentation/RoomItem.js +++ b/app/presentation/RoomItem.js @@ -215,7 +215,7 @@ export default class RoomItem extends React.Component { if (type === 'd') { return ; } - return ; + return ; } formatDate = date => moment(date).calendar(null, { diff --git a/app/reducers/login.js b/app/reducers/login.js index cf4d2ff7..ef222d06 100644 --- a/app/reducers/login.js +++ b/app/reducers/login.js @@ -3,11 +3,11 @@ import * as types from '../actions/actionsTypes'; const initialState = { isAuthenticated: false, isFetching: false, - isRegistering: false, token: '', user: {}, error: '', - services: {} + services: {}, + credentials: {} }; export default function login(state = initialState, action) { @@ -19,7 +19,6 @@ export default function login(state = initialState, action) { ...state, isFetching: true, isAuthenticated: false, - isRegistering: false, failure: false, error: '' }; @@ -34,7 +33,8 @@ export default function login(state = initialState, action) { }, token: action.user.token, failure: false, - error: '' + error: '', + credentials: {} }; case types.LOGIN.FAILURE: return { @@ -61,37 +61,29 @@ export default function login(state = initialState, action) { return { ...state, isFetching: true, - isAuthenticated: false, - isRegistering: true, failure: false, - error: '' + error: '', + credentials: action.credentials }; case types.LOGIN.REGISTER_SUCCESS: return { ...state, isFetching: false, - isAuthenticated: false, failure: false, - error: '' + error: '', + credentials: {} }; case types.LOGIN.SET_USERNAME_SUBMIT: return { ...state, - isFetching: true + isFetching: true, + credentials: action.credentials }; case types.LOGIN.SET_USERNAME_SUCCESS: return { ...state, - isFetching: false, - isRegistering: false + isFetching: false }; - case types.LOGIN.REGISTER_INCOMPLETE: - return { - ...state, - isRegistering: true - }; - case types.FORGOT_PASSWORD.INIT: - return initialState; case types.FORGOT_PASSWORD.REQUEST: return { ...state, @@ -128,11 +120,6 @@ export default function login(state = initialState, action) { ...action.data } }; - case types.LOGIN.REMOVE_SERVICES: - return { - ...state, - services: {} - }; case types.LOGIN.SET_PREFERENCE: return { ...state, diff --git a/app/sagas/login.js b/app/sagas/login.js index b1011158..b5981cf3 100644 --- a/app/sagas/login.js +++ b/app/sagas/login.js @@ -1,7 +1,7 @@ import { AsyncStorage } from 'react-native'; import { delay } from 'redux-saga'; import { - put, call, take, takeLatest, select, all + put, call, takeLatest, select, all } from 'redux-saga/effects'; import { Navigation } from 'react-native-navigation'; @@ -9,15 +9,8 @@ import * as types from '../actions/actionsTypes'; import { appStart } from '../actions'; import { serverFinishAdd } from '../actions/server'; import { - // loginRequest, - // loginSubmit, registerRequest, - registerIncomplete, - // loginSuccess, loginFailure, - // logout, - // setToken, - registerSuccess, setUsernameRequest, setUsernameSuccess, forgotPasswordSuccess, @@ -29,7 +22,6 @@ import I18n from '../i18n'; const getUser = state => state.login.user; const getServer = state => state.server.server; -const getIsConnected = state => state.meteor.connected; const loginCall = args => RocketChat.loginWithPassword(args); const registerCall = args => RocketChat.register(args); @@ -43,16 +35,16 @@ const handleLoginSuccess = function* handleLoginSuccess() { const user = yield select(getUser); const adding = yield select(state => state.server.adding); yield AsyncStorage.setItem(RocketChat.TOKEN_KEY, user.token); - if (!user.username || user.isRegistering) { - yield put(registerIncomplete()); + + if (!user.username) { + return yield put(appStart('setUsername')); + } + + if (adding) { + yield put(serverFinishAdd()); + yield Navigation.dismissAllModals(); } else { - yield delay(300); - if (adding) { - yield put(serverFinishAdd()); - yield Navigation.dismissAllModals(); - } else { - yield put(appStart('inside')); - } + yield put(appStart('inside')); } } catch (e) { log('handleLoginSuccess', e); @@ -66,14 +58,6 @@ const handleRegisterSubmit = function* handleRegisterSubmit({ credentials }) { const handleRegisterRequest = function* handleRegisterRequest({ credentials }) { try { yield call(registerCall, { credentials }); - yield put(registerSuccess(credentials)); - } catch (err) { - yield put(loginFailure(err)); - } -}; - -const handleRegisterSuccess = function* handleRegisterSuccess({ credentials }) { - try { yield call(loginCall, { username: credentials.email, password: credentials.pass @@ -89,7 +73,7 @@ const handleSetUsernameSubmit = function* handleSetUsernameSubmit({ credentials const handleSetUsernameRequest = function* handleSetUsernameRequest({ credentials }) { try { - yield call(setUsernameCall, { credentials }); + yield call(setUsernameCall, credentials); yield put(setUsernameSuccess()); yield call(loginSuccessCall); } catch (err) { @@ -109,13 +93,6 @@ const handleLogout = function* handleLogout() { } }; -const handleRegisterIncomplete = function* handleRegisterIncomplete() { - const server = yield select(state => state.server); - if (!server.adding) { - yield put(appStart('outside')); - } -}; - const handleForgotPasswordRequest = function* handleForgotPasswordRequest({ email }) { try { yield call(forgotPasswordCall, email); @@ -125,22 +102,6 @@ const handleForgotPasswordRequest = function* handleForgotPasswordRequest({ emai } }; -const watchLoginOpen = function* watchLoginOpen() { - try { - const isConnected = yield select(getIsConnected); - if (!isConnected) { - yield take(types.METEOR.SUCCESS); - } - const sub = yield RocketChat.subscribe('meteor.loginServiceConfiguration'); - yield take(types.LOGIN.CLOSE); - if (sub) { - yield sub.unsubscribe().catch(err => console.warn(err)); - } - } catch (e) { - log('watchLoginOpen', e); - } -}; - const handleSetUser = function* handleSetUser() { yield delay(2000); const [server, user] = yield all([select(getServer), select(getUser)]); @@ -155,19 +116,13 @@ const handleSetUser = function* handleSetUser() { }; const root = function* root() { - // yield takeLatest(types.METEOR.SUCCESS, handleLoginWhenServerChanges); - // yield takeLatest(types.LOGIN.REQUEST, handleLoginRequest); yield takeLatest(types.LOGIN.SUCCESS, handleLoginSuccess); - // yield takeLatest(types.LOGIN.SUBMIT, handleLoginSubmit); yield takeLatest(types.LOGIN.REGISTER_REQUEST, handleRegisterRequest); yield takeLatest(types.LOGIN.REGISTER_SUBMIT, handleRegisterSubmit); - yield takeLatest(types.LOGIN.REGISTER_SUCCESS, handleRegisterSuccess); - yield takeLatest(types.LOGIN.REGISTER_INCOMPLETE, handleRegisterIncomplete); yield takeLatest(types.LOGIN.SET_USERNAME_SUBMIT, handleSetUsernameSubmit); yield takeLatest(types.LOGIN.SET_USERNAME_REQUEST, handleSetUsernameRequest); yield takeLatest(types.LOGOUT, handleLogout); yield takeLatest(types.FORGOT_PASSWORD.REQUEST, handleForgotPasswordRequest); - yield takeLatest(types.LOGIN.OPEN, watchLoginOpen); yield takeLatest(types.USER.SET, handleSetUser); }; export default root; diff --git a/app/sagas/selectServer.js b/app/sagas/selectServer.js index dadc11dd..9a3d50b4 100644 --- a/app/sagas/selectServer.js +++ b/app/sagas/selectServer.js @@ -2,6 +2,7 @@ import { put, call, takeLatest } from 'redux-saga/effects'; import { AsyncStorage } from 'react-native'; import { Navigation } from 'react-native-navigation'; import { Provider } from 'react-redux'; +import { gestureHandlerRootHOC } from 'react-native-gesture-handler'; import { SERVER } from '../actions/actionsTypes'; import * as actions from '../actions'; @@ -14,10 +15,7 @@ import log from '../utils/log'; import store from '../lib/createStore'; let LoginSignupView = null; - -const validate = function* validate(server) { - return yield RocketChat.testServer(server); -}; +let LoginView = null; const handleSelectServer = function* handleSelectServer({ server }) { try { @@ -29,7 +27,7 @@ const handleSelectServer = function* handleSelectServer({ server }) { } const settings = database.objects('settings'); - yield put(actions.setAllSettings(RocketChat.parseSettings(settings.slice(0, settings.length)))); + yield put(actions.setAllSettings(RocketChat.parseSettings(RocketChat._filterSettings(settings.slice(0, settings.length))))); const emojis = database.objects('customEmojis'); yield put(actions.setCustomEmojis(RocketChat.parseEmojis(emojis.slice(0, emojis.length)))); const roles = database.objects('roles'); @@ -47,24 +45,29 @@ const handleSelectServer = function* handleSelectServer({ server }) { const handleServerRequest = function* handleServerRequest({ server }) { try { - if (LoginSignupView == null) { - LoginSignupView = require('../views/LoginSignupView').default; - Navigation.registerComponentWithRedux('LoginSignupView', () => LoginSignupView, Provider, store); - } - - yield call(validate, server); - yield Navigation.push('NewServerView', { - component: { - name: 'LoginSignupView', - options: { - topBar: { - title: { - text: server - } - } - } + yield RocketChat.testServer(server); + const loginServicesLength = yield RocketChat.getLoginServices(server); + if (loginServicesLength === 0) { + if (LoginView == null) { + LoginView = require('../views/LoginView').default; + Navigation.registerComponentWithRedux('LoginView', () => gestureHandlerRootHOC(LoginView), Provider, store); } - }); + yield Navigation.push('NewServerView', { + component: { + name: 'LoginView' + } + }); + } else { + if (LoginSignupView == null) { + LoginSignupView = require('../views/LoginSignupView').default; + Navigation.registerComponentWithRedux('LoginSignupView', () => gestureHandlerRootHOC(LoginSignupView), Provider, store); + } + yield Navigation.push('NewServerView', { + component: { + name: 'LoginSignupView' + } + }); + } database.databases.serversDB.write(() => { database.databases.serversDB.create('servers', { id: server }, true); diff --git a/app/views/CreateChannelView.js b/app/views/CreateChannelView.js index be205630..193c1327 100644 --- a/app/views/CreateChannelView.js +++ b/app/views/CreateChannelView.js @@ -17,6 +17,7 @@ import scrollPersistTaps from '../utils/scrollPersistTaps'; import I18n from '../i18n'; import UserItem from '../presentation/UserItem'; import { showErrorAlert } from '../utils/info'; +import { DEFAULT_HEADER } from '../constants/headerOptions'; const styles = StyleSheet.create({ container: { @@ -85,6 +86,19 @@ const styles = StyleSheet.create({ })) /** @extends React.Component */ export default class CreateChannelView extends LoggedView { + static options() { + return { + ...DEFAULT_HEADER, + topBar: { + ...DEFAULT_HEADER.topBar, + title: { + ...DEFAULT_HEADER.topBar.title, + text: I18n.t('Create_Channel') + } + } + }; + } + static propTypes = { componentId: PropTypes.string, baseUrl: PropTypes.string, @@ -109,7 +123,7 @@ export default class CreateChannelView extends LoggedView { } componentDidMount() { - setTimeout(() => { + this.timeout = setTimeout(() => { this.channelNameRef.focus(); }, 600); } @@ -140,6 +154,12 @@ export default class CreateChannelView extends LoggedView { } } + componentWillUnmount() { + if (this.timeout) { + clearTimeout(this.timeout); + } + } + onChangeText = (channelName) => { const { componentId } = this.props; const rightButtons = []; diff --git a/app/views/ForgotPasswordView.js b/app/views/ForgotPasswordView.js index 1d1fc4e5..fc5e0178 100644 --- a/app/views/ForgotPasswordView.js +++ b/app/views/ForgotPasswordView.js @@ -1,32 +1,36 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Text, View, ScrollView } from 'react-native'; +import { Text, ScrollView } from 'react-native'; import { connect } from 'react-redux'; import { Navigation } from 'react-native-navigation'; import SafeAreaView from 'react-native-safe-area-view'; import LoggedView from './View'; -import { forgotPasswordInit as forgotPasswordInitAction, forgotPasswordRequest as forgotPasswordRequestAction } from '../actions/login'; +import { forgotPasswordRequest as forgotPasswordRequestAction } from '../actions/login'; import KeyboardView from '../presentation/KeyboardView'; import TextInput from '../containers/TextInput'; import Button from '../containers/Button'; -import Loading from '../containers/Loading'; -import styles from './Styles'; +import sharedStyles from './Styles'; import { showErrorAlert } from '../utils/info'; import scrollPersistTaps from '../utils/scrollPersistTaps'; import I18n from '../i18n'; +import { DARK_HEADER } from '../constants/headerOptions'; @connect(state => ({ login: state.login }), dispatch => ({ - forgotPasswordInit: () => dispatch(forgotPasswordInitAction()), forgotPasswordRequest: email => dispatch(forgotPasswordRequestAction(email)) })) /** @extends React.Component */ export default class ForgotPasswordView extends LoggedView { + static options() { + return { + ...DARK_HEADER + }; + } + static propTypes = { componentId: PropTypes.string, - forgotPasswordInit: PropTypes.func.isRequired, forgotPasswordRequest: PropTypes.func.isRequired, login: PropTypes.object } @@ -36,13 +40,14 @@ export default class ForgotPasswordView extends LoggedView { this.state = { email: '', - invalidEmail: false + invalidEmail: true }; } componentDidMount() { - const { forgotPasswordInit } = this.props; - forgotPasswordInit(); + this.timeout = setTimeout(() => { + this.emailInput.focus(); + }, 600); } componentDidUpdate() { @@ -55,6 +60,12 @@ export default class ForgotPasswordView extends LoggedView { } } + componentWillUnmount() { + if (this.timeout) { + clearTimeout(this.timeout); + } + } + validate = (email) => { /* eslint-disable no-useless-escape */ const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; @@ -80,35 +91,31 @@ export default class ForgotPasswordView extends LoggedView { return ( - - - - this.validate(email)} - onSubmitEditing={() => this.resetPassword()} - testID='forgot-password-view-email' - /> - - -