라이브 - 방장이 아닌 사용자가 유저 차단 시 라이브에서 강퇴되는 버그 수정
This commit is contained in:
parent
6cbd4edacc
commit
823bd8e92d
|
@ -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
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue