#7 added loginscreen
This commit is contained in:
parent
227473895a
commit
e9cd8401b5
1 changed files with 52 additions and 0 deletions
|
@ -0,0 +1,52 @@
|
|||
package be.ugent.sel.studeez.screens.sign_in
|
||||
|
||||
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 LoginScreen(
|
||||
openAndPopUp: (String, String) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
viewModel: LoginViewModel = hiltViewModel()
|
||||
) {
|
||||
val uiState by viewModel.uiState
|
||||
|
||||
SecondaryScreenToolbar(title = resources().getString(AppText.sign_in)) {
|
||||
Column(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
.fillMaxHeight()
|
||||
.verticalScroll(rememberScrollState()),
|
||||
verticalArrangement = Arrangement.Center,
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
EmailField(uiState.email, viewModel::onEmailChange, Modifier.fieldModifier())
|
||||
PasswordField(uiState.password, viewModel::onPasswordChange, Modifier.fieldModifier())
|
||||
|
||||
BasicButton(AppText.sign_in, Modifier.basicButton()) { viewModel.onSignInClick(openAndPopUp) }
|
||||
|
||||
BasicTextButton(AppText.not_already_user, Modifier.textButton()) {
|
||||
viewModel.onNotAlreadyUser(openAndPopUp)
|
||||
}
|
||||
|
||||
BasicTextButton(AppText.forgot_password, Modifier.textButton()) {
|
||||
viewModel.onForgotPasswordClick()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in a new issue