Skip to content

Commit

Permalink
Edured-82: Allow remove connection when editing name
Browse files Browse the repository at this point in the history
  • Loading branch information
Iulia Stana committed Apr 16, 2023
1 parent bb745e0 commit 6ff94c8
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 46 deletions.
4 changes: 2 additions & 2 deletions app/src/main/kotlin/nl/eduid/graphs/MainGraph.kt
Original file line number Diff line number Diff line change
Expand Up @@ -370,8 +370,8 @@ fun MainGraph(
val viewModel = hiltViewModel<PersonalInfoViewModel>(it)
PersonalInfoScreen(
viewModel = viewModel,
onEmailClicked = { navController.goToWithPopCurrent(Graph.EDIT_EMAIL) },
onNameClicked = { navController.goToWithPopCurrent(Graph.EDIT_NAME) },
onEmailClicked = { navController.navigate(Graph.EDIT_EMAIL) },
onNameClicked = { navController.navigate(Graph.EDIT_NAME) },
onManageAccountClicked = { dateString ->
navController.navigate(
ManageAccountRoute.routeWithArgs(
Expand Down
60 changes: 16 additions & 44 deletions app/src/main/kotlin/nl/eduid/screens/editname/EditNameScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -77,30 +77,29 @@ fun EditNameScreen(
EditNameContent(
isLoading = uiState.isLoading,
personalInfo = uiState.personalInfo,
account = uiState.personalInfo.institutionAccounts.firstOrNull(),
updateName = { givenName, familyName -> viewModel.updateName(givenName, familyName) },
addLinkToAccount = {
isGettingLinkUrl = true
viewModel.requestLinkUrl()
}
},
removeConnection = { index -> viewModel.removeConnection(index) },
)
}

@Composable
@OptIn(ExperimentalComposeUiApi::class, ExperimentalMaterial3Api::class)
private fun EditNameContent(
isLoading: Boolean,
personalInfo: PersonalInfo,
account: PersonalInfo.InstitutionAccount? = null,
updateName: (String, String) -> Unit = { _, _ -> },
addLinkToAccount: () -> Unit = {},
removeConnection: (Int) -> Unit = {},
) = Column(
modifier = Modifier
.fillMaxWidth()
.verticalScroll(rememberScrollState())
) {
val focusManager = LocalFocusManager.current
val keyboardController = LocalSoftwareKeyboardController.current
var givenName by rememberSaveable { mutableStateOf("") }
var familyName by rememberSaveable { mutableStateOf(personalInfo.seflAssertedName.familyName.orEmpty()) }
LogCompositions(msg = "EditName content recomposing: $isLoading. Data: $personalInfo")
Text(
style = MaterialTheme.typography.titleLarge,
Expand Down Expand Up @@ -137,48 +136,17 @@ private fun EditNameContent(
),
)
}

OutlinedTextField(
value = givenName,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
keyboardActions = KeyboardActions(onNext = {
focusManager.moveFocus(
FocusDirection.Down
)
}),
onValueChange = { givenName = it },
label = { Text(stringResource(R.string.request_id_details_screen_first_name_input_title)) },
placeholder = { Text(stringResource(R.string.request_id_details_screen_first_name_input_hint)) },
modifier = Modifier.fillMaxWidth()
)

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

OutlinedTextField(
value = familyName,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(onDone = { keyboardController?.hide() }),
onValueChange = { familyName = it },
label = { Text(stringResource(R.string.request_id_details_screen_last_name_input_title)) },
placeholder = { Text(stringResource(R.string.request_id_details_screen_last_name_input_hint)) },
modifier = Modifier.fillMaxWidth()
InfoTab(
title = personalInfo.name,
subtitle = stringResource(R.string.infotab_providedby_you),
onClick = { /**Not going anywhere from here*/ },
endIcon = R.drawable.edit_icon
)

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

PrimaryButton(
text = stringResource(id = R.string.button_update),
enabled = !(familyName.isEmpty() || givenName.isEmpty()) && !isLoading,
onClick = { updateName(givenName, familyName) },
modifier = Modifier.fillMaxWidth()
)
Spacer(
modifier = Modifier.height(24.dp)
)
if (personalInfo.nameProvider != null) {
Row(verticalAlignment = Alignment.CenterVertically) {
Image(
Expand All @@ -195,14 +163,18 @@ private fun EditNameContent(
),
)
}

InfoTab(
title = personalInfo.name,
subtitle = stringResource(
R.string.infotab_providedby, personalInfo.nameProvider
),
onClick = { /**Not going anywhere from here*/ },
endIcon = R.drawable.shield_tick_blue
institutionInfo = account,
onClick = {},
onDeleteButtonClicked = { removeConnection(0) },
endIcon = R.drawable.chevron_down,
)

}

LinkAccountCard(
Expand Down

0 comments on commit 6ff94c8

Please sign in to comment.