#5 added signup screen
This commit is contained in:
		
							parent
							
								
									5bc0e51f8d
								
							
						
					
					
						commit
						c6e53ff45c
					
				
					 1 changed files with 54 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in a new issue