Avoid setting blank custom story name.

This commit is contained in:
Sagar
2025-04-11 19:25:15 +05:30
committed by Alex Hart
parent 399a613c25
commit 852541c361
3 changed files with 9 additions and 4 deletions

View File

@@ -53,9 +53,11 @@ class CreateStoryWithViewersFragment : DSLSettingsFragment(
adapter.registerFactory(RecipientMappingModel.RecipientIdMappingModel::class.java, LayoutFactory({ RecipientViewHolder(it, null) }, R.layout.stories_recipient_item))
binding.create.setOnClickListener { viewModel.create(recipientIds.toSet()) }
binding.create.setCanPress(false)
val nameViewHolder = CreateStoryNameFieldItem.ViewHolder(binding.nameField.root) {
viewModel.setLabel(it)
binding.create.setCanPress(it.isNotBlank())
}
disposables.bindTo(viewLifecycleOwner)
@@ -70,7 +72,7 @@ class CreateStoryWithViewersFragment : DSLSettingsFragment(
nameViewHolder.bind(nameModel)
when (state.saveState) {
CreateStoryWithViewersState.SaveState.Init -> binding.create.setCanPress(state.label.isNotEmpty())
CreateStoryWithViewersState.SaveState.Init -> binding.create.setCanPress(state.label.isNotBlank())
CreateStoryWithViewersState.SaveState.Saving -> binding.create.setCanPress(false)
is CreateStoryWithViewersState.SaveState.Saved -> onDone(state.saveState.recipientId)
}

View File

@@ -34,13 +34,14 @@ class CreateStoryWithViewersViewModel(
store.update { it.copy(saveState = CreateStoryWithViewersState.SaveState.Saving) }
val label = store.state.label
if (label.isEmpty()) {
if (label.isBlank()) {
store.update {
it.copy(
error = CreateStoryWithViewersState.NameError.NO_LABEL,
saveState = CreateStoryWithViewersState.SaveState.Init
)
}
return
}
disposables += repository.createList(label, members).subscribeBy(

View File

@@ -59,8 +59,8 @@ class EditStoryNameFragment : Fragment(R.layout.stories_edit_story_name_fragment
}
storyName.doAfterTextChanged {
saveButton.isEnabled = !it.isNullOrEmpty()
saveButton.alpha = if (it.isNullOrEmpty()) 0.5f else 1f
saveButton.isEnabled = !it.isNullOrBlank() && it.toString().trim() != initialName
saveButton.alpha = if (!saveButton.isEnabled) 0.5f else 1f
storyNameWrapper.error = null
}
@@ -68,6 +68,8 @@ class EditStoryNameFragment : Fragment(R.layout.stories_edit_story_name_fragment
saveButton.setOnClickListener {
onSaveClicked()
}
saveButton.isEnabled = false
saveButton.alpha = 0.5f
ViewUtil.focusAndShowKeyboard(storyName)
}