From b87299e9a7c8ecc8ef2e1120e6d98c538c1acf98 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Mon, 21 Mar 2022 15:21:07 +0200
Subject: [PATCH] Setup views clicks

---
 .../validate_email/ValidateEmailFragment.kt   | 34 +++++++++++++++++++
 .../validate_email/ValidateEmailViewModel.kt  |  8 +++++
 app/src/main/res/values/strings.xml           |  2 ++
 3 files changed, 44 insertions(+)

diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt
index 0b4612b9c..1fafd6d3e 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt
@@ -2,11 +2,13 @@ package com.futo.circles.feature.validate_email
 
 import android.os.Bundle
 import android.view.View
+import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.Fragment
 import by.kirich1409.viewbindingdelegate.viewBinding
 import com.futo.circles.R
 import com.futo.circles.core.HasLoadingState
 import com.futo.circles.databinding.ValidateEmailFragmentBinding
+import com.futo.circles.extensions.showDialog
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class ValidateEmailFragment : Fragment(R.layout.validate_email_fragment), HasLoadingState {
@@ -17,7 +19,39 @@ class ValidateEmailFragment : Fragment(R.layout.validate_email_fragment), HasLoa
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
+        setupViews()
+        setupObservers()
+    }
+
+    private fun setupViews() {
+        with(binding) {
+            tilEmail.editText?.doAfterTextChanged {
+                it?.let { btnSendCode.setButtonEnabled(it.isNotEmpty()) }
+            }
+            tilEmail.setEndIconOnClickListener {
+                showDialog(
+                    R.string.email,
+                    R.string.email_usage_explanation
+                )
+            }
+            tilValidationCode.setEndIconOnClickListener {
+                showDialog(
+                    R.string.validation_code,
+                    R.string.validation_code_explanation
+                )
+            }
+            btnSendCode.setOnClickListener {
+                startLoading(btnSendCode)
+                viewModel.sendCode(tilEmail.editText?.text?.toString()?.trim() ?: "")
+            }
+            btnValidate.setOnClickListener {
+                startLoading(btnValidate)
+                viewModel.validateEmail(tilValidationCode.editText?.text?.toString()?.trim() ?: "")
+            }
+        }
+    }
 
+    private fun setupObservers() {
     }
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt
index 8832b2e8b..e0f61b8e3 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt
@@ -7,5 +7,13 @@ class ValidateEmailViewModel(
     private val dataSource: ValidateEmailDataSource
 ) : ViewModel() {
 
+    fun sendCode(email: String) {
+
+    }
+
+    fun validateEmail(code: String) {
+
+    }
+
 
 }
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index aa19f981f..7e2b862c8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -71,6 +71,8 @@
     <string name="email">Email</string>
     <string name="validation_code">Validation code</string>
     <string name="send_validation_code">Send validation code</string>
+    <string name="email_usage_explanation">Must be a currently valid and active address.\n\nDon\'t worry - we will only use this address for security and other alerts about your account. We don't send spam, and we don't sell your address.</string>
+    <string name="validation_code_explanation">We sent a 6-digit code to your email address to validate your account.\n\nEnter the code here to verify that this address belongs to you.</string>
 
     <plurals name="member_plurals">
         <item quantity="one">%d member</item>
-- 
GitLab