fix: editing post and comment (#466)

closes #465
This commit is contained in:
Diego Beraldin 2024-01-20 13:07:16 +01:00 committed by GitHub
parent 22a517ce45
commit dfb0a8504f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 26 deletions

View File

@ -211,12 +211,8 @@ class CreateCommentScreen(
contentDescription = null,
)
},
onClick = {
model.reduce(
CreateCommentMviModel.Intent.Send(
textFieldValue.text
)
)
onClick = rememberCallback(model, textFieldValue) {
model.reduce(CreateCommentMviModel.Intent.Send(textFieldValue.text))
},
)
}
@ -235,7 +231,7 @@ class CreateCommentScreen(
CreatePostSection.Preview -> 1
else -> 0
},
onSectionSelected = {
onSectionSelected = rememberCallbackArgs { it ->
val section = when (it) {
1 -> CreatePostSection.Preview
else -> CreatePostSection.Edit

View File

@ -248,7 +248,7 @@ class CreatePostScreen(
contentDescription = null,
)
},
onClick = rememberCallback(model) {
onClick = rememberCallback(model, bodyTextFieldValue) {
model.reduce(CreatePostMviModel.Intent.Send(bodyTextFieldValue.text))
},
)
@ -338,7 +338,7 @@ class CreatePostScreen(
keyboardActions = KeyboardActions(onNext = {
urlFocusRequester.requestFocus()
}),
onValueChange = { value ->
onValueChange = rememberCallbackArgs(model) { value ->
model.reduce(CreatePostMviModel.Intent.SetTitle(value))
},
isError = uiState.titleError != null,
@ -390,7 +390,7 @@ class CreatePostScreen(
keyboardActions = KeyboardActions(onNext = {
bodyFocusRequester.requestFocus()
}),
onValueChange = { value ->
onValueChange = rememberCallbackArgs(model) { value ->
model.reduce(CreatePostMviModel.Intent.SetUrl(value))
},
isError = uiState.urlError != null,
@ -417,27 +417,34 @@ class CreatePostScreen(
color = MaterialTheme.colorScheme.onBackground,
)
Spacer(modifier = Modifier.weight(1f))
Switch(checked = uiState.nsfw, onCheckedChange = {
Switch(
checked = uiState.nsfw,
onCheckedChange = rememberCallbackArgs(model) { it ->
model.reduce(CreatePostMviModel.Intent.ChangeNsfw(it))
})
},
)
}
Column(
verticalArrangement = Arrangement.spacedBy(Spacing.xs)
) {
SectionSelector(titles = listOf(
SectionSelector(
titles = listOf(
stringResource(MR.strings.create_post_tab_editor),
stringResource(MR.strings.create_post_tab_preview),
), currentSection = when (uiState.section) {
),
currentSection = when (uiState.section) {
CreatePostSection.Preview -> 1
else -> 0
}, onSectionSelected = {
},
onSectionSelected = rememberCallbackArgs(model) { it ->
val section = when (it) {
1 -> CreatePostSection.Preview
else -> CreatePostSection.Edit
}
model.reduce(CreatePostMviModel.Intent.ChangeSection(section))
})
},
)
if (uiState.section == CreatePostSection.Edit) {
TextFormattingBar(