라이브 정보 수정

- 연령 제한 설정 추가
This commit is contained in:
Yu Sung
2024-09-11 14:58:55 +09:00
parent 8aa69f02fc
commit 3db59e6236
5 changed files with 85 additions and 29 deletions

View File

@@ -43,6 +43,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
@Published var isShowReportPopup = false
@Published var isShowErrorPopup = false
@Published var isShowUserProfilePopup = false
@Published var changeIsAdult = false {
didSet {
if changeIsAdult && !UserDefaults.bool(forKey: .auth) {
agora.speakerMute(true)
}
}
}
@Published var popupContent = ""
@Published var popupCancelTitle: String? = nil
@@ -342,6 +349,10 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
getTotalDonationCan()
if data.isAdult && !UserDefaults.bool(forKey: .auth) {
changeIsAdult = true
}
if (userId > 0 && data.creatorId == UserDefaults.int(forKey: .userId)) {
let nickname = getUserNicknameAndProfileUrl(accountId: userId).nickname
onSuccess(nickname)
@@ -707,7 +718,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
agora.sendMessageToPeer(peerId: peerId, rawMessage: LiveRoomRequestType.REQUEST_SPEAKER_ALLOW.rawValue.data(using: .utf8)!, completion: nil)
}
func editLiveRoomInfo(title: String, notice: String) {
func editLiveRoomInfo(title: String, notice: String, isAdult: Bool) {
let request = EditLiveRoomInfoRequest(
title: liveRoomInfo!.title != title ? title : nil,
notice: liveRoomInfo!.notice != notice ? notice : nil,
@@ -716,10 +727,11 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
timezone: nil,
menuPanId: isActivateMenu ? menuId : 0,
menuPan: isActivateMenu ? menu : "",
isActiveMenuPan: isActivateMenu
isActiveMenuPan: isActivateMenu,
isAdult: liveRoomInfo!.isAdult != isAdult ? isAdult : nil
)
if (request.title == nil && request.notice == nil && coverImage == nil && menu == liveRoomInfo?.menuPan) {
if (request.title == nil && request.notice == nil && coverImage == nil && menu == liveRoomInfo?.menuPan && request.isAdult == nil) {
self.errorMessage = "변경사항이 없습니다."
self.isShowErrorPopup = true
return
@@ -730,7 +742,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
let encoder = JSONEncoder()
encoder.outputFormatting = .withoutEscapingSlashes
if (request.title != nil || request.notice != nil || menu != liveRoomInfo?.menuPan) {
if (request.title != nil || request.notice != nil || request.isAdult != nil || menu != liveRoomInfo?.menuPan) {
let jsonData = try? encoder.encode(request)
if let jsonData = jsonData {
multipartData.append(MultipartFormData(provider: .data(jsonData), name: "request"))