feat(creator): 후원 empty 액션을 연결한다

This commit is contained in:
2026-06-22 22:06:52 +09:00
parent ecaa1f01e8
commit 4097181923
2 changed files with 34 additions and 4 deletions

View File

@@ -71,6 +71,11 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
viewModel.postChannelDonation(can, isSecret, message)
}
}
btnCreatorChannelDonationEmptyWrite.setOnClickListener {
host.onCreatorChannelDonationRequested { can, isSecret, message ->
viewModel.postChannelDonation(can, isSecret, message)
}
}
}
private fun observeViewModel() {
@@ -81,6 +86,7 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
is CreatorChannelDonationUiState.Error -> bindError(state)
is CreatorChannelDonationUiState.Content -> bindContent(state)
}
handleActionToastMessage(state)
handleDonationSuccessEvent()
}
}
@@ -90,6 +96,7 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
layoutCreatorChannelDonationCountBar.isVisible = false
rvCreatorChannelDonation.isVisible = false
layoutCreatorChannelDonationEmpty.isVisible = false
btnCreatorChannelDonationEmptyWrite.isVisible = false
tvCreatorChannelDonationErrorMessage.isVisible = false
btnCreatorChannelDonationRetry.isVisible = false
btnCreatorChannelDonationWrite.isVisible = false
@@ -100,6 +107,7 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
layoutCreatorChannelDonationCountBar.isVisible = false
rvCreatorChannelDonation.isVisible = false
layoutCreatorChannelDonationEmpty.isVisible = true
btnCreatorChannelDonationEmptyWrite.isVisible = !state.isOwner
tvCreatorChannelDonationEmptyMessage.setText(
if (state.isOwner) {
R.string.creator_channel_donation_empty_owner_title
@@ -118,6 +126,7 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
layoutCreatorChannelDonationCountBar.isVisible = false
rvCreatorChannelDonation.isVisible = false
layoutCreatorChannelDonationEmpty.isVisible = false
btnCreatorChannelDonationEmptyWrite.isVisible = false
tvCreatorChannelDonationErrorMessage.isVisible = true
tvCreatorChannelDonationErrorMessage.text = state.message ?: getString(R.string.creator_channel_donation_error_message)
btnCreatorChannelDonationRetry.isVisible = true
@@ -131,6 +140,7 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
rvCreatorChannelDonation.isVisible = true
donationAdapter.submitItems(state.rankings, state.donations)
layoutCreatorChannelDonationEmpty.isVisible = false
btnCreatorChannelDonationEmptyWrite.isVisible = false
tvCreatorChannelDonationErrorMessage.isVisible = false
btnCreatorChannelDonationRetry.isVisible = false
btnCreatorChannelDonationWrite.isVisible = !state.isOwner
@@ -139,10 +149,17 @@ class CreatorChannelDonationFragment : BaseFragment<FragmentCreatorChannelDonati
Toast.makeText(requireContext(), it, Toast.LENGTH_SHORT).show()
viewModel.consumePaginationErrorMessage()
}
state.actionToastMessage?.let {
Toast.makeText(requireContext(), it, Toast.LENGTH_SHORT).show()
viewModel.consumeActionToastMessage()
}
}
private fun handleActionToastMessage(state: CreatorChannelDonationUiState) {
val message = when (state) {
is CreatorChannelDonationUiState.Empty -> state.actionToastMessage
is CreatorChannelDonationUiState.Content -> state.actionToastMessage
else -> null
} ?: return
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show()
viewModel.consumeActionToastMessage()
}
private fun handleDonationSuccessEvent() {