From def8914dafd75c460a705db567dd6ddf22e80a28 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 6 Oct 2026 14:18:38 +0900 Subject: [PATCH] =?UTF-8?q?feat(channel):=20=EC=84=A0=EB=AC=BC=20=EB=B3=B4?= =?UTF-8?q?=EB=82=B4=EA=B8=B0=20=EB=B2=84=ED=8A=BC=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SodaLive/Sources/I18n/I18n.swift | 5 ++++ .../CreatorChannelTalkActionSection.swift | 23 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/SodaLive/Sources/I18n/I18n.swift b/SodaLive/Sources/I18n/I18n.swift index 8d9cdf85..7b893a02 100644 --- a/SodaLive/Sources/I18n/I18n.swift +++ b/SodaLive/Sources/I18n/I18n.swift @@ -3508,6 +3508,7 @@ If you block this user, the following features will be restricted. static var talk: String { pick(ko: "대화하기", en: "Start chat", ja: "トークする") } static var dm: String { pick(ko: "DM 보내기", en: "Send DM", ja: "DMを送る") } static var checkDm: String { pick(ko: "DM 확인하기", en: "Check DM", ja: "DMを確認") } + static var sendGift: String { pick(ko: "선물 보내기", en: "Send gift", ja: "ギフトを送る") } static var uploadCommunityPost: String { pick(ko: "커뮤니티 글 올리기", en: "Upload community post", ja: "コミュニティ投稿") } static var uploadAudioContent: String { pick(ko: "오디오 콘텐츠 올리기", en: "Upload audio content", ja: "オーディオコンテンツを投稿") } static var createLive: String { pick(ko: "라이브 만들기", en: "Create live", ja: "ライブを作成") } @@ -4872,6 +4873,10 @@ If you block this user, the following features will be restricted. pick(ko: "보관함", en: "Library", ja: "ライブラリ") } + static var giftBox: String { + pick(ko: "선물함", en: "Gift box", ja: "ギフトボックス") + } + static var blockList: String { pick(ko: "차단목록", en: "Blocked list", ja: "ブロックリスト") } diff --git a/SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelTalkActionSection.swift b/SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelTalkActionSection.swift index b3079840..7752674a 100644 --- a/SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelTalkActionSection.swift +++ b/SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelTalkActionSection.swift @@ -7,6 +7,15 @@ struct CreatorChannelTalkActionSection: View { let onTapTalk: () -> Void let onTapDm: () -> Void + private var shouldShowGiftButton: Bool { + let normalizedCountryCode = UserDefaults + .string(forKey: .countryCode) + .trimmingCharacters(in: .whitespacesAndNewlines) + .uppercased() + let isKoreanCountry = normalizedCountryCode.isEmpty || normalizedCountryCode == "KR" + return isOwnCreatorChannel == false && isDmAvailable && isKoreanCountry && LanguageHeaderProvider.current == "ko" + } + var body: some View { HStack(spacing: SodaSpacing.s8) { Spacer() @@ -51,6 +60,20 @@ struct CreatorChannelTalkActionSection: View { .buttonStyle(.plain) } + if shouldShowGiftButton { + Button(action: {}) { + Text(I18n.CreatorChannelHome.sendGift) + .appFont(size: 16, weight: .medium) + .foregroundColor(.white) + .padding(SodaSpacing.s12) + .overlay( + Capsule() + .stroke(Color.white.opacity(0.3), lineWidth: 1) + ) + } + .buttonStyle(.plain) + } + Spacer() } .frame(height: 44)