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