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.fragment.app.activityViewModels
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import com.github.libretube.R
|
||||||
import com.github.libretube.api.SubscriptionHelper
|
import com.github.libretube.api.SubscriptionHelper
|
||||||
import com.github.libretube.api.obj.Subscription
|
import com.github.libretube.api.obj.Subscription
|
||||||
import com.github.libretube.databinding.DialogEditChannelGroupBinding
|
import com.github.libretube.databinding.DialogEditChannelGroupBinding
|
||||||
@ -38,6 +39,10 @@ class EditChannelGroupSheet(
|
|||||||
binding.channelsRV.layoutManager = LinearLayoutManager(context)
|
binding.channelsRV.layoutManager = LinearLayoutManager(context)
|
||||||
fetchSubscriptions()
|
fetchSubscriptions()
|
||||||
|
|
||||||
|
binding.groupName.addTextChangedListener {
|
||||||
|
updateConfirmStatus()
|
||||||
|
}
|
||||||
|
|
||||||
binding.searchInput.addTextChangedListener {
|
binding.searchInput.addTextChangedListener {
|
||||||
showChannels(channels, it?.toString())
|
showChannels(channels, it?.toString())
|
||||||
}
|
}
|
||||||
@ -46,6 +51,7 @@ class EditChannelGroupSheet(
|
|||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateConfirmStatus()
|
||||||
binding.confirm.setOnClickListener {
|
binding.confirm.setOnClickListener {
|
||||||
group.name = binding.groupName.text.toString()
|
group.name = binding.groupName.text.toString()
|
||||||
if (group.name.isBlank()) return@setOnClickListener
|
if (group.name.isBlank()) return@setOnClickListener
|
||||||
@ -78,8 +84,23 @@ class EditChannelGroupSheet(
|
|||||||
group
|
group
|
||||||
) {
|
) {
|
||||||
group = it
|
group = it
|
||||||
|
updateConfirmStatus()
|
||||||
}
|
}
|
||||||
binding.subscriptionsContainer.isVisible = true
|
binding.subscriptionsContainer.isVisible = true
|
||||||
binding.progress.isVisible = false
|
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="channel_groups">Channel groups</string>
|
||||||
<string name="new_group">New</string>
|
<string name="new_group">New</string>
|
||||||
<string name="group_name">Group name</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="edit_group">Edit group</string>
|
||||||
<string name="play_automatically">Play automatically</string>
|
<string name="play_automatically">Play automatically</string>
|
||||||
<string name="play_automatically_summary">Start playing video automatically when selecting</string>
|
<string name="play_automatically_summary">Start playing video automatically when selecting</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user