From 3f214560484075d88059d989e44a4376508c48d5 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Wed, 8 Jul 2026 16:28:11 +0900 Subject: [PATCH] =?UTF-8?q?fix(creator):=20=EA=B3=A0=EC=95=A1=20=ED=9B=84?= =?UTF-8?q?=EC=9B=90=20=EA=B8=80=EC=9E=90=EC=83=89=EC=9D=84=20=EC=A1=B0?= =?UTF-8?q?=EC=A0=95=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/CreatorChannelDonationCard.swift | 12 ++++++++++-- docs/20260701_크리에이터_채널_홈/plan-task.md | 2 +- docs/20260704_크리에이터_채널_후원_탭/plan-task.md | 1 + docs/20260704_크리에이터_채널_후원_탭/prd.md | 2 ++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/SodaLive/Sources/V2/CreatorChannel/Donation/Components/CreatorChannelDonationCard.swift b/SodaLive/Sources/V2/CreatorChannel/Donation/Components/CreatorChannelDonationCard.swift index 35f6a8a9..ca8846e9 100644 --- a/SodaLive/Sources/V2/CreatorChannel/Donation/Components/CreatorChannelDonationCard.swift +++ b/SodaLive/Sources/V2/CreatorChannel/Donation/Components/CreatorChannelDonationCard.swift @@ -33,13 +33,13 @@ struct CreatorChannelDonationCard: View { VStack(alignment: .leading, spacing: 2) { Text(donation.nickname) .appFont(size: 14, weight: .medium) - .foregroundColor(.black) + .foregroundColor(donation.nicknameColor) .lineLimit(1) .truncationMode(.tail) Text(donation.relativeTimeText()) .appFont(size: 14, weight: .regular) - .foregroundColor(Color.gray700) + .foregroundColor(donation.relativeTimeColor) .lineLimit(1) } .frame(maxWidth: .infinity, alignment: .leading) @@ -91,6 +91,14 @@ extension CreatorChannelDonationResponse { return Color(hex: "FF4C3C") } } + + var nicknameColor: Color { + can >= 501 ? .white : .black + } + + var relativeTimeColor: Color { + can >= 501 ? Color.gray100 : Color.gray700 + } } struct CreatorChannelDonationCard_Previews: PreviewProvider { diff --git a/docs/20260701_크리에이터_채널_홈/plan-task.md b/docs/20260701_크리에이터_채널_홈/plan-task.md index 17c7ac2a..d7982d42 100644 --- a/docs/20260701_크리에이터_채널_홈/plan-task.md +++ b/docs/20260701_크리에이터_채널_홈/plan-task.md @@ -387,7 +387,7 @@ - `51...100`: `#73EE01` - `101...500`: `#00EAFF` - `501...`: `#FF4C3C` - - 상단 영역 배경이 밝은 색상이므로 `nickname`은 black, `createdAtUtc`는 기존 gray 700 계열로 표시하고, 금액 pill은 `#202020` 배경과 white text를 유지한다. + - 상단 영역 배경이 밝은 색상인 `1...500` 구간에서는 `nickname`은 black, `createdAtUtc`는 기존 gray 700 계열로 표시한다. `501...` 구간은 red 배경 대비를 위해 `nickname`을 white, `createdAtUtc`를 `gray100`으로 표시한다. 금액 pill은 모든 구간에서 `#202020` 배경과 white text를 유지한다. - `message`는 상단 영역 아래에 16pt regular, white text로 표시하고, 긴 문장은 화면 폭 안에서 줄바꿈한다. - 전체보기는 기존 `AppStep.channelDonationAll(creatorId:)`로 이동하지 않고, 부모에서 주입받은 `onSelectTab(.donation)` closure로 현재 크리에이터 채널의 후원 tab을 선택한다. - 빈 후원 UI는 section title 아래 `#202020` card, `처음으로 크리에이터를\n후원해 보세요!` 문구, white capsule `후원하기` 버튼, black `ic_new_donation` icon/text를 표시한다. diff --git a/docs/20260704_크리에이터_채널_후원_탭/plan-task.md b/docs/20260704_크리에이터_채널_후원_탭/plan-task.md index 2e69d864..d2b54d6a 100644 --- a/docs/20260704_크리에이터_채널_후원_탭/plan-task.md +++ b/docs/20260704_크리에이터_채널_후원_탭/plan-task.md @@ -224,3 +224,4 @@ - 2026-07-04: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`를 실행해 `BUILD SUCCEEDED`를 확인했다. - 2026-07-04: 사용자 요청에 따라 내 채널인 경우 후원 탭 empty view 내부 후원하기 버튼과 우측하단 icon-only 후원하기 버튼을 모두 표시하지 않도록 범위를 보완했다. - 2026-07-04: 사용자 요청에 따라 후원 랭킹은 최대 8명만, 한 줄에 4명씩 표시하도록 범위를 보완했다. +- 2026-07-08: 사용자 요청에 따라 공용 후원 item의 `can >= 501` 상단 영역에서 `nickname`은 white, 상대 시간은 `gray100`으로 표시하고, 그 외 후원 `can` 구간의 글자색은 기존 색상을 유지하도록 기록했다. diff --git a/docs/20260704_크리에이터_채널_후원_탭/prd.md b/docs/20260704_크리에이터_채널_후원_탭/prd.md index 96a65a88..a2114b2a 100644 --- a/docs/20260704_크리에이터_채널_후원_탭/prd.md +++ b/docs/20260704_크리에이터_채널_후원_탭/prd.md @@ -114,6 +114,8 @@ data class CreatorChannelDonationResponse( - `51...100`: `#73EE01` - `101...500`: `#00EAFF` - `501...`: `#FF4C3C` +- `can >= 501`인 후원 item은 상단 영역에서 `nickname`을 white, 상대 시간을 `gray100`으로 표시한다. +- 그 외 후원 `can` 구간의 `nickname`과 상대 시간 글자색은 기존 표시 색상을 유지한다. - `message`가 빈 문자열이면 기존 홈 탭과 동일하게 `{can}캔을 후원하였습니다`를 표시한다. - 서버 응답에 비밀 후원 여부가 없으므로, 클라이언트는 서버가 내려준 `nickname`, `profileImageUrl`, `message`를 그대로 표시한다.