From c6e53ff45c5333d6ed39b341ef53be346fe68c77 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Sat, 8 Apr 2023 22:33:20 +0200 Subject: [PATCH] #5 added signup screen --- .../studeez/screens/sign_up/SignUpScreen.kt | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpScreen.kt diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpScreen.kt new file mode 100644 index 0000000..4d07f59 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/sign_up/SignUpScreen.kt @@ -0,0 +1,54 @@ +package be.ugent.sel.studeez.screens.sign_up + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.hilt.navigation.compose.hiltViewModel +import be.ugent.sel.studeez.common.composable.* +import be.ugent.sel.studeez.common.ext.basicButton +import be.ugent.sel.studeez.common.ext.fieldModifier +import be.ugent.sel.studeez.common.ext.textButton +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.R.string as AppText + +@Composable +fun SignUpScreen( + openAndPopUp: (String, String) -> Unit, + modifier: Modifier = Modifier, + viewModel: SignUpViewModel = hiltViewModel() +) { + val uiState by viewModel.uiState + val fieldModifier = Modifier.fieldModifier() + + SecondaryScreenToolbar(title = resources().getString(AppText.create_account)) { + Column( + modifier = modifier + .fillMaxWidth() + .fillMaxHeight() + .verticalScroll(rememberScrollState()), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ) { + EmailField(uiState.email, viewModel::onEmailChange, fieldModifier) + PasswordField(uiState.password, viewModel::onPasswordChange, fieldModifier) + RepeatPasswordField(uiState.repeatPassword, viewModel::onRepeatPasswordChange, fieldModifier) + + BasicButton(AppText.create_account, Modifier.basicButton()) { + viewModel.onSignUpClick(openAndPopUp) + } + + BasicTextButton(AppText.already_user, Modifier.textButton()) { + viewModel.onLoginScreenClick(openAndPopUp) + } + } + } + + +} \ No newline at end of file