mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
feat(channelGroups): disable confirm button if creation is not possible
This commit is contained in:
parent
ab9e543291
commit
7f72a3eaeb
@ -9,6 +9,7 @@ import androidx.core.widget.addTextChangedListener
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.api.SubscriptionHelper
|
||||
import com.github.libretube.api.obj.Subscription
|
||||
import com.github.libretube.databinding.DialogEditChannelGroupBinding
|
||||
@ -38,6 +39,10 @@ class EditChannelGroupSheet(
|
||||
binding.channelsRV.layoutManager = LinearLayoutManager(context)
|
||||
fetchSubscriptions()
|
||||
|
||||
binding.groupName.addTextChangedListener {
|
||||
updateConfirmStatus()
|
||||
}
|
||||
|
||||
binding.searchInput.addTextChangedListener {
|
||||
showChannels(channels, it?.toString())
|
||||
}
|
||||
@ -46,6 +51,7 @@ class EditChannelGroupSheet(
|
||||
dismiss()
|
||||
}
|
||||
|
||||
updateConfirmStatus()
|
||||
binding.confirm.setOnClickListener {
|
||||
group.name = binding.groupName.text.toString()
|
||||
if (group.name.isBlank()) return@setOnClickListener
|
||||
@ -78,8 +84,23 @@ class EditChannelGroupSheet(
|
||||
group
|
||||
) {
|
||||
group = it
|
||||
updateConfirmStatus()
|
||||
}
|
||||
binding.subscriptionsContainer.isVisible = true
|
||||
binding.progress.isVisible = false
|
||||
}
|
||||
|
||||
private fun updateConfirmStatus() {
|
||||
with(binding) {
|
||||
val isGroupNameBlank = groupName.text?.isBlank() == true
|
||||
|
||||
groupName.error = if (isGroupNameBlank) {
|
||||
requireContext().getString(R.string.group_name_error)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
confirm.isEnabled = !isGroupNameBlank && group.channels.isNotEmpty()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -406,6 +406,7 @@
|
||||
<string name="channel_groups">Channel groups</string>
|
||||
<string name="new_group">New</string>
|
||||
<string name="group_name">Group name</string>
|
||||
<string name="group_name_error">Please enter a name</string>
|
||||
<string name="edit_group">Edit group</string>
|
||||
<string name="play_automatically">Play automatically</string>
|
||||
<string name="play_automatically_summary">Start playing video automatically when selecting</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user