채금 기능 추가

This commit is contained in:
Yu Sung
2023-10-11 19:25:12 +09:00
parent 91c43e679f
commit 282ee73de1
8 changed files with 309 additions and 26 deletions

View File

@@ -485,26 +485,6 @@ struct LiveRoomView: View {
}
)
}
if viewModel.isShowPopup {
LiveRoomDialogView(
content: viewModel.popupContent,
cancelTitle: viewModel.popupCancelTitle,
cancelAction: viewModel.popupCancelAction,
confirmTitle: viewModel.popupConfirmTitle,
confirmAction: viewModel.popupConfirmAction
).onAppear {
if viewModel.popupConfirmTitle == nil && viewModel.popupConfirmAction == nil {
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
viewModel.isShowPopup = false
viewModel.popupCancelTitle = nil
viewModel.popupCancelAction = nil
viewModel.popupConfirmTitle = nil
viewModel.popupConfirmAction = nil
}
}
}
}
}
ZStack {
@@ -519,6 +499,12 @@ struct LiveRoomView: View {
if $0 != UserDefaults.int(forKey: .userId) {
viewModel.getUserProfile(userId: $0)
}
},
onClickNoChatting: { userId, nickname, profileUrl in
viewModel.noChattingUserId = userId
viewModel.noChattingUserNickname = nickname
viewModel.noChattingUserProfileUrl = profileUrl
viewModel.isShowNoChattingConfirm = true
}
)
}
@@ -547,6 +533,12 @@ struct LiveRoomView: View {
viewModel.reportUserNickname = userNickname
viewModel.reportUserIsBlocked = isBlocked
viewModel.isShowReportMenu = true
},
onClickNoChatting: { userId, nickname, profileUrl in
viewModel.noChattingUserId = userId
viewModel.noChattingUserNickname = nickname
viewModel.noChattingUserProfileUrl = profileUrl
viewModel.isShowNoChattingConfirm = true
}
)
.padding(20)
@@ -612,6 +604,43 @@ struct LiveRoomView: View {
}
)
}
if viewModel.isShowNoChattingConfirm && viewModel.noChattingUserId > 0 {
LiveRoomNoChattingDialogView(
nickname: viewModel.noChattingUserNickname,
profileUrl: viewModel.noChattingUserProfileUrl,
confirmAction: {
viewModel.isShowNoChattingConfirm = false
viewModel.setNoChatting()
},
cancelAction: {
viewModel.noChattingUserId = 0
viewModel.noChattingUserNickname = ""
viewModel.noChattingUserProfileUrl = ""
viewModel.isShowNoChattingConfirm = false
}
)
}
if viewModel.isShowPopup {
LiveRoomDialogView(
content: viewModel.popupContent,
cancelTitle: viewModel.popupCancelTitle,
cancelAction: viewModel.popupCancelAction,
confirmTitle: viewModel.popupConfirmTitle,
confirmAction: viewModel.popupConfirmAction
).onAppear {
if viewModel.popupConfirmTitle == nil && viewModel.popupConfirmAction == nil {
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
viewModel.isShowPopup = false
viewModel.popupCancelTitle = nil
viewModel.popupCancelAction = nil
viewModel.popupConfirmTitle = nil
viewModel.popupConfirmAction = nil
}
}
}
}
}
if viewModel.isLoading && viewModel.liveRoomInfo == nil {
@@ -815,6 +844,12 @@ struct LiveRoomView: View {
.accentColor(Color(hex: "3bb9f1"))
.keyboardType(.default)
.padding(.horizontal, 13.3)
.onTapGesture {
if viewModel.isNoChatting {
viewModel.popupContent = "\(viewModel.remainingNoChattingTime)초 동안 채팅하실 수 없습니다"
viewModel.isShowPopup = true
}
}
Spacer()