From fba87f201bb87580bdd1dcf1bc726a4e56b723ba Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 15 Sep 2026 11:10:26 +0900 Subject: [PATCH] =?UTF-8?q?feat(channel):=20=EA=B3=B5=EC=9C=A0=20=EB=8F=99?= =?UTF-8?q?=EC=9E=91=EC=9D=84=20=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CreatorChannelViewModel.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/SodaLive/Sources/V2/CreatorChannel/CreatorChannelViewModel.swift b/SodaLive/Sources/V2/CreatorChannel/CreatorChannelViewModel.swift index 3a537e13..5b1aa283 100644 --- a/SodaLive/Sources/V2/CreatorChannel/CreatorChannelViewModel.swift +++ b/SodaLive/Sources/V2/CreatorChannel/CreatorChannelViewModel.swift @@ -15,6 +15,28 @@ final class CreatorChannelViewModel: ObservableObject { @Published var isApiFailedPlaceholderVisible = false @Published var errorMessage = "" @Published var isShowPopup = false + @Published var isShowShareView = false + @Published var shareMessage = "" + + func shareChannel(creatorId: Int, nickname: String) { + isLoading = true + + let params = [ + "af_dp": "voiceon://", + "deep_link_value": "channel", + "deep_link_sub5": "\(creatorId)" + ] + + if let shareUrl = createOneLinkUrlWithURLComponents(params: params) { + self.shareMessage = I18n.MemberChannel.shareChannelMessage(nickname) + "\n\(shareUrl)" + self.isShowShareView = true + } else { + self.errorMessage = I18n.MemberChannel.shareLinkCreateFailed + self.isShowPopup = true + } + + self.isLoading = false + } func fetchHome(creatorId: Int) { isLoading = true