라이브 - 방장이 아닌 사용자가 유저 차단 시 라이브에서 강퇴되는 버그 수정
This commit is contained in:
		| @@ -597,7 +597,12 @@ struct LiveRoomView: View { | ||||
|                     UserBlockConfirmDialogView( | ||||
|                         isShowing: $viewModel.isShowUesrBlockConfirm, | ||||
|                         nickname: viewModel.reportUserNickname, | ||||
|                         confirmAction: { viewModel.userBlock() } | ||||
|                         confirmAction: { | ||||
|                             viewModel.userBlock { userId in | ||||
|                                 viewModel.kickOutId = userId | ||||
|                                 viewModel.kickOut() | ||||
|                             } | ||||
|                         } | ||||
|                     ) | ||||
|                 } | ||||
|                  | ||||
|   | ||||
| @@ -713,12 +713,14 @@ final class LiveRoomViewModel: NSObject, ObservableObject { | ||||
|             .store(in: &subscription) | ||||
|          | ||||
|         let nickname = getUserNicknameAndProfileUrl(accountId: kickOutId).nickname | ||||
|         agora.sendMessageToPeer(peerId: String(kickOutId), rawMessage: LiveRoomRequestType.KICK_OUT.rawValue.data(using: .utf8)!, completion: { [unowned self] errorCode in | ||||
|             if errorCode == .ok { | ||||
|                 self.popupContent = "\(nickname)님을 내보냈습니다." | ||||
|                 self.isShowPopup = true | ||||
|             } | ||||
|         }) | ||||
|         if UserDefaults.int(forKey: .userId) == liveRoomInfo?.creatorId { | ||||
|             agora.sendMessageToPeer(peerId: String(kickOutId), rawMessage: LiveRoomRequestType.KICK_OUT.rawValue.data(using: .utf8)!, completion: { [unowned self] errorCode in | ||||
|                 if errorCode == .ok { | ||||
|                     self.popupContent = "\(nickname)님을 내보냈습니다." | ||||
|                     self.isShowPopup = true | ||||
|                 } | ||||
|             }) | ||||
|         } | ||||
|          | ||||
|         if let index = muteSpeakers.firstIndex(of: UInt(kickOutId)) { | ||||
|             muteSpeakers.remove(at: index) | ||||
| @@ -1129,7 +1131,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject { | ||||
|         self.agora.sendRawMessageToGroup(rawMessage: setManagerMessage) | ||||
|     } | ||||
|      | ||||
|     func userBlock() { | ||||
|     func userBlock(onSuccess: @escaping (Int) -> Void) { | ||||
|         isLoading = true | ||||
|         userRepository.memberBlock(userId: reportUserId) | ||||
|             .sink { result in | ||||
| @@ -1150,6 +1152,8 @@ final class LiveRoomViewModel: NSObject, ObservableObject { | ||||
|                     if decoded.success { | ||||
|                         self.reportMessage = "차단하였습니다." | ||||
|                         self.getUserProfile(userId: reportUserId) | ||||
|                         onSuccess(reportUserId) | ||||
|                          | ||||
|                         self.reportUserId = 0 | ||||
|                         self.reportUserNickname = "" | ||||
|                         self.reportUserIsBlocked = false | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung