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