Skip to content

Commit

Permalink
Added validation check
Browse files Browse the repository at this point in the history
  • Loading branch information
aritra-tech committed May 6, 2024
1 parent d94d1da commit 8504308
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.geekymusketeers.uncrack.presentation.auth

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.geekymusketeers.uncrack.domain.model.User
import com.geekymusketeers.uncrack.util.UtilsKt
import com.geekymusketeers.uncrack.util.runIO
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.auth.ktx.auth
Expand All @@ -11,6 +14,20 @@ import com.google.firebase.ktx.Firebase
class AuthViewModel : ViewModel() {

private val auth = Firebase.auth
private val _isRegistrationEnabled = MutableLiveData(false)
val isRegistrationEnabled: LiveData<Boolean> = _isRegistrationEnabled

fun onFieldChanged(name: String, email: String, password: String) {
validateFields(name, email, password)
}

private fun validateFields(name: String, email: String, password: String) {
val isNameValid = UtilsKt.validateName(name)
val isEmailValid = UtilsKt.validateEmail(email)
val isPasswordValid = password.length >= 6

_isRegistrationEnabled.value = isNameValid && isEmailValid && isPasswordValid
}

fun logIn(
email: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.geekymusketeers.uncrack.presentation.auth.signup
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.widget.Space
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
Expand Down Expand Up @@ -39,6 +38,7 @@ import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
import com.geekymusketeers.uncrack.MainActivity
import com.geekymusketeers.uncrack.R
import com.geekymusketeers.uncrack.components.UCButton
import com.geekymusketeers.uncrack.components.UCTextField
Expand Down Expand Up @@ -103,6 +103,7 @@ fun SignupContent(
var email by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
var passwordVisibility by remember { mutableStateOf(false) }
val isRegisterButtonEnableObserve = authViewModel.isRegistrationEnabled.value

Scaffold(
modifier = modifier.fillMaxSize()
Expand Down Expand Up @@ -174,22 +175,27 @@ fun SignupContent(

Spacer(modifier = Modifier.weight(1f))

UCButton(
modifier = Modifier
.fillMaxWidth(),
text = stringResource(id = R.string.register),
onClick = {
authViewModel.signUp(
name,
email,
password,
onSignedUp = { signUpUser ->
onSignUp(signUpUser)
if (isRegisterButtonEnableObserve != null) {
UCButton(
modifier = Modifier
.fillMaxWidth(),
text = stringResource(id = R.string.register),
onClick = {
authViewModel.signUp(
name,
email,
password,
onSignedUp = { signUpUser ->
onSignUp(signUpUser)
}
)
context.findActivity()?.apply {
startActivity(Intent(activity, MainActivity::class.java))
}
)
},
// enabled = false
)
},
enabled = isRegisterButtonEnableObserve
)
}

Spacer(modifier = Modifier.height(15.dp))

Expand Down

0 comments on commit 8504308

Please sign in to comment.