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 0b4612b9c2d47fbf2d56c5a8a89eb8b1b2fdeac2..1fafd6d3e42a1f563bb64d9e1493b8b03f5cabc4 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 8832b2e8bfb3fb764a57cd695e513a7bbaff1e94..e0f61b8e3221128fc4ebc04de8226046d4b66742 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 aa19f981f7760907ab397c51480a47fe2d75c5c7..7e2b862c836304a08523480ea46f0b7e8baf31f7 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>