From 6ab7878221766fef485134e98d9758a0b29806da Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 8 Jul 2026 16:32:54 +0900 Subject: [PATCH] =?UTF-8?q?fix(creator-channel):=20=ED=99=88=20=ED=9B=84?= =?UTF-8?q?=EC=9B=90=20=EA=B3=A0=EC=95=A1=20header=20=EC=83=89=EC=83=81?= =?UTF-8?q?=EC=9D=84=20=EB=B3=B4=EC=A0=95=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/CreatorChannelHomeSectionAdapter.kt | 19 ++++++++++++++----- .../CreatorChannelActivitySourceTest.kt | 9 +++++++-- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt index b58dc891..9b542d14 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt @@ -195,15 +195,24 @@ class CreatorChannelHomeSectionAdapter( ).apply { marginEnd = if (index == visibleDonations.lastIndex) 0 else 4.dp() } + val headerColorResId = calculateCreatorChannelDonationHeaderColorRes(donation.can) row.findViewById(R.id.layout_donation_header) - .setBackgroundColor(itemView.context.getColor(calculateCreatorChannelDonationHeaderColorRes(donation.can))) + .setBackgroundColor(itemView.context.getColor(headerColorResId)) row.findViewById(R.id.iv_donation_profile).loadUrl(donation.profileImageUrl) { placeholder(R.drawable.ic_placeholder_profile) transformations(CircleCropTransformation()) } - row.findViewById(R.id.tv_donation_nickname).text = donation.nickname - row.findViewById(R.id.tv_donation_created_at).text = - formatUtcRelativeTimeText(itemView.context, donation.createdAtUtc) + val donationNickname = row.findViewById(R.id.tv_donation_nickname) + val donationCreatedAt = row.findViewById(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(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 diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt index c532b05e..af1f8587 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt @@ -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