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 {
marginEnd = if (index == visibleDonations.lastIndex) 0 else 4.dp()
}
val headerColorResId = calculateCreatorChannelDonationHeaderColorRes(donation.can)
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) {
placeholder(R.drawable.ic_placeholder_profile)
transformations(CircleCropTransformation())
}
row.findViewById<TextView>(R.id.tv_donation_nickname).text = donation.nickname
row.findViewById<TextView>(R.id.tv_donation_created_at).text =
formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc)
val donationNickname = row.findViewById<TextView>(R.id.tv_donation_nickname)
val donationCreatedAt = row.findViewById<TextView>(R.id.tv_donation_created_at)
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(
R.string.creator_channel_donation_can_format,
donation.can.moneyFormat()
@@ -678,7 +687,7 @@ private const val SNS_TOTAL_GAP_DP = 64
@ColorRes
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 >= 51 -> R.color.green_400
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("calculateCreatorChannelDonationCardWidthDp"))
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)"))
assertFalse(adapter.contains("tv_donation_created_at).text = donation.createdAtUtc"))
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(100))
assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(101))
assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(499))
assertEquals(R.color.red_400, calculateCreatorChannelDonationHeaderColorRes(500))
assertEquals(R.color.creator_channel_donation_cyan, calculateCreatorChannelDonationHeaderColorRes(500))
assertEquals(R.color.red_400, calculateCreatorChannelDonationHeaderColorRes(501))
}
@Test