fix(creator-channel): 홈 후원 고액 header 색상을 보정한다

This commit is contained in:
2026-07-08 16:32:54 +09:00
parent ddc18386fb
commit 6ab7878221
2 changed files with 21 additions and 7 deletions

View File

@@ -195,15 +195,24 @@ class CreatorChannelHomeSectionAdapter(
).apply { ).apply {
marginEnd = if (index == visibleDonations.lastIndex) 0 else 4.dp() marginEnd = if (index == visibleDonations.lastIndex) 0 else 4.dp()
} }
val headerColorResId = calculateCreatorChannelDonationHeaderColorRes(donation.can)
row.findViewById<View>(R.id.layout_donation_header) row.findViewById<View>(R.id.layout_donation_header)
.setBackgroundColor(itemView.context.getColor(calculateCreatorChannelDonationHeaderColorRes(donation.can))) .setBackgroundColor(itemView.context.getColor(headerColorResId))
row.findViewById<ImageView>(R.id.iv_donation_profile).loadUrl(donation.profileImageUrl) { row.findViewById<ImageView>(R.id.iv_donation_profile).loadUrl(donation.profileImageUrl) {
placeholder(R.drawable.ic_placeholder_profile) placeholder(R.drawable.ic_placeholder_profile)
transformations(CircleCropTransformation()) transformations(CircleCropTransformation())
} }
row.findViewById<TextView>(R.id.tv_donation_nickname).text = donation.nickname val donationNickname = row.findViewById<TextView>(R.id.tv_donation_nickname)
row.findViewById<TextView>(R.id.tv_donation_created_at).text = val donationCreatedAt = row.findViewById<TextView>(R.id.tv_donation_created_at)
formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc) donationNickname.text = donation.nickname
donationCreatedAt.text = formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc)
if (headerColorResId == R.color.red_400) {
donationNickname.setTextColor(itemView.context.getColor(R.color.white))
donationCreatedAt.setTextColor(itemView.context.getColor(R.color.gray_100))
} else {
donationNickname.setTextColor(itemView.context.getColor(R.color.black))
donationCreatedAt.setTextColor(itemView.context.getColor(R.color.gray_700))
}
row.findViewById<TextView>(R.id.tv_donation_can).text = itemView.context.getString( row.findViewById<TextView>(R.id.tv_donation_can).text = itemView.context.getString(
R.string.creator_channel_donation_can_format, R.string.creator_channel_donation_can_format,
donation.can.moneyFormat() donation.can.moneyFormat()
@@ -678,7 +687,7 @@ private const val SNS_TOTAL_GAP_DP = 64
@ColorRes @ColorRes
internal fun calculateCreatorChannelDonationHeaderColorRes(can: Int): Int = when { internal fun calculateCreatorChannelDonationHeaderColorRes(can: Int): Int = when {
can >= 500 -> R.color.red_400 can >= 501 -> R.color.red_400
can >= 101 -> R.color.creator_channel_donation_cyan can >= 101 -> R.color.creator_channel_donation_cyan
can >= 51 -> R.color.green_400 can >= 51 -> R.color.green_400
else -> R.color.gray_200 else -> R.color.gray_200

View File

@@ -892,6 +892,11 @@ class CreatorChannelActivitySourceTest {
assertTrue(adapter.contains("val visibleDonations = item.donations.take(MAX_DONATION_ITEM_COUNT)")) assertTrue(adapter.contains("val visibleDonations = item.donations.take(MAX_DONATION_ITEM_COUNT)"))
assertTrue(adapter.contains("calculateCreatorChannelDonationCardWidthDp")) assertTrue(adapter.contains("calculateCreatorChannelDonationCardWidthDp"))
assertTrue(adapter.contains("calculateCreatorChannelDonationHeaderColorRes(donation.can)")) assertTrue(adapter.contains("calculateCreatorChannelDonationHeaderColorRes(donation.can)"))
assertTrue(adapter.contains("if (headerColorResId == R.color.red_400)"))
assertTrue(adapter.contains("donationNickname.setTextColor(itemView.context.getColor(R.color.white))"))
assertTrue(adapter.contains("donationCreatedAt.setTextColor(itemView.context.getColor(R.color.gray_100))"))
assertTrue(adapter.contains("donationNickname.setTextColor(itemView.context.getColor(R.color.black))"))
assertTrue(adapter.contains("donationCreatedAt.setTextColor(itemView.context.getColor(R.color.gray_700))"))
assertTrue(adapter.contains("formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc)")) assertTrue(adapter.contains("formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc)"))
assertFalse(adapter.contains("tv_donation_created_at).text = donation.createdAtUtc")) assertFalse(adapter.contains("tv_donation_created_at).text = donation.createdAtUtc"))
assertTrue(adapter.contains("R.string.creator_channel_donation_fallback_message")) assertTrue(adapter.contains("R.string.creator_channel_donation_fallback_message"))
@@ -947,8 +952,8 @@ class CreatorChannelActivitySourceTest {
assertEquals(R.color.green_400, calculateCreatorChannelDonationHeaderColorRes(51)) assertEquals(R.color.green_400, calculateCreatorChannelDonationHeaderColorRes(51))
assertEquals(R.color.green_400, calculateCreatorChannelDonationHeaderColorRes(100)) assertEquals(R.color.green_400, calculateCreatorChannelDonationHeaderColorRes(100))
assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(101)) assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(101))
assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(499)) assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(500))
assertEquals(R.color.red_400, calculateCreatorChannelDonationHeaderColorRes(500)) assertEquals(R.color.red_400, calculateCreatorChannelDonationHeaderColorRes(501))
} }
@Test @Test