Fix back button

pull/3151/head
Alex Baker 1 year ago
parent 80009b3a89
commit 20ca293ef3

@ -177,40 +177,28 @@ class TaskEditFragment : Fragment() {
topBar = { topBar = {
TopAppBar( TopAppBar(
navigationIcon = { navigationIcon = {
IconButton( if (editViewModel.isReadOnly) {
onClick = { IconButton(onClick = { activity?.onBackPressed() }) {
when { Icon(
editViewModel.isReadOnly -> activity?.onBackPressed() imageVector = Icons.AutoMirrored.Outlined.ArrowBack,
backButtonSavesTask -> discardButtonClick() contentDescription = stringResource(R.string.back)
else -> lifecycleScope.launch { save() } )
} }
} else {
IconButton(onClick = { lifecycleScope.launch { save() } }) {
Icon(
imageVector = Icons.Outlined.Save,
contentDescription = stringResource(R.string.save)
)
} }
) {
Icon(
imageVector = when {
editViewModel.isReadOnly -> Icons.AutoMirrored.Outlined.ArrowBack
backButtonSavesTask -> Icons.Outlined.Clear
else -> Icons.Outlined.Save
},
contentDescription = when {
editViewModel.isReadOnly -> stringResource(R.string.back)
backButtonSavesTask -> stringResource(R.string.discard)
else -> stringResource(R.string.save)
}
)
} }
}, },
title = {}, title = {},
actions = { actions = {
if (backButtonSavesTask && editViewModel.isWritable) { if (!editViewModel.isWritable) {
IconButton(onClick = { discardButtonClick() }) { return@TopAppBar
Icon(
imageVector = Icons.Outlined.Clear,
contentDescription = stringResource(R.string.menu_discard_changes),
)
}
} }
if (!editViewModel.isNew && editViewModel.isWritable) { if (!editViewModel.isNew) {
IconButton(onClick = { deleteButtonClick() }) { IconButton(onClick = { deleteButtonClick() }) {
Icon( Icon(
imageVector = Icons.Outlined.Delete, imageVector = Icons.Outlined.Delete,
@ -218,6 +206,12 @@ class TaskEditFragment : Fragment() {
) )
} }
} }
IconButton(onClick = { discardButtonClick() }) {
Icon(
imageVector = Icons.Outlined.Clear,
contentDescription = stringResource(R.string.menu_discard_changes),
)
}
}, },
) )
}, },

Loading…
Cancel
Save