룰렛 프리셋 설정 성공 메시지 수정
This commit is contained in:
		| @@ -1341,8 +1341,8 @@ final class LiveRoomViewModel: NSObject, ObservableObject { | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     func setActiveRoulette(isActiveRoulette: Bool) { | ||||
|         self.popupContent = isActiveRoulette ? "룰렛을 활성화 했습니다." : "룰렛을 비활성화 했습니다." | ||||
|     func setActiveRoulette(isActiveRoulette: Bool, message: String) { | ||||
|         self.popupContent = message | ||||
|         self.isShowPopup = true | ||||
|         self.agora.sendRawMessageToGroup( | ||||
|             rawMessage: LiveRoomChatRawMessage( | ||||
|   | ||||
| @@ -13,7 +13,7 @@ struct RouletteSettingsView: View { | ||||
|     @StateObject var viewModel = RouletteSettingsViewModel() | ||||
|      | ||||
|     @Binding var isShowing: Bool | ||||
|     let onComplete: (Bool) -> Void | ||||
|     let onComplete: (Bool, String) -> Void | ||||
|      | ||||
|     var body: some View { | ||||
|         GeometryReader { proxy in | ||||
| @@ -163,7 +163,7 @@ struct RouletteSettingsView: View { | ||||
|                             .cornerRadius(10) | ||||
|                             .onTapGesture { | ||||
|                                 viewModel.createOrUpdateRoulette { | ||||
|                                     onComplete($0) | ||||
|                                     onComplete($0, $1) | ||||
|                                     isShowing = false | ||||
|                                 } | ||||
|                             } | ||||
| @@ -217,6 +217,6 @@ struct RouletteSettingsView: View { | ||||
|  | ||||
| struct RouletteSettingsView_Previews: PreviewProvider { | ||||
|     static var previews: some View { | ||||
|         RouletteSettingsView(isShowing: .constant(true)) { _ in } | ||||
|         RouletteSettingsView(isShowing: .constant(true)) { _, _ in } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -148,7 +148,7 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|         isShowPreview = true | ||||
|     } | ||||
|      | ||||
|     func createOrUpdateRoulette(onSuccess: @escaping (Bool) -> Void) { | ||||
|     func createOrUpdateRoulette(onSuccess: @escaping (Bool, String) -> Void) { | ||||
|         if !isLoading { | ||||
|             isLoading = true | ||||
|              | ||||
| @@ -160,7 +160,7 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     private func createRoulette(onSuccess: @escaping (Bool) -> Void) { | ||||
|     private func createRoulette(onSuccess: @escaping (Bool, String) -> Void) { | ||||
|         var items = [RouletteItem]() | ||||
|         for option in options { | ||||
|             if option.title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { | ||||
| @@ -173,6 +173,26 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|             items.append(RouletteItem(title: option.title, weight: option.weight)) | ||||
|         } | ||||
|          | ||||
|         let selectedRouletteTitle: String | ||||
|         let successMessage: String | ||||
|          | ||||
|         switch (self.selectedRoulette) { | ||||
|         case .ROULETTE_2: | ||||
|             selectedRouletteTitle = "룰렛 2" | ||||
|              | ||||
|         case .ROULETTE_3: | ||||
|             selectedRouletteTitle = "룰렛 3" | ||||
|          | ||||
|         default: | ||||
|             selectedRouletteTitle = "룰렛 1" | ||||
|         } | ||||
|          | ||||
|         if isActive { | ||||
|             successMessage = "\(selectedRouletteTitle)을 활성화 했습니다." | ||||
|         } else { | ||||
|             successMessage = "\(selectedRouletteTitle)을 비활성화 했습니다." | ||||
|         } | ||||
|          | ||||
|         let request = CreateRouletteRequest(can: can, isActive: isActive, items: items) | ||||
|         repository.createRoulette(request: request) | ||||
|             .sink { result in | ||||
| @@ -191,7 +211,7 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|                     let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData) | ||||
|                      | ||||
|                     if decoded.success { | ||||
|                         onSuccess(isActive) | ||||
|                         onSuccess(isActive, successMessage) | ||||
|                     } else { | ||||
|                         self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." | ||||
|                         self.isShowErrorPopup = true | ||||
| @@ -204,7 +224,7 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|             .store(in: &subscription) | ||||
|     } | ||||
|      | ||||
|     private func updateRoulette(onSuccess: @escaping (Bool) -> Void) { | ||||
|     private func updateRoulette(onSuccess: @escaping (Bool, String) -> Void) { | ||||
|         var items = [RouletteItem]() | ||||
|         for option in options { | ||||
|             if option.title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { | ||||
| @@ -263,9 +283,7 @@ final class RouletteSettingsViewModel: ObservableObject { | ||||
|                     let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData) | ||||
|                      | ||||
|                     if decoded.success { | ||||
|                         self.errorMessage = successMessage | ||||
|                         self.isShowErrorPopup = true | ||||
|                         onSuccess(isActive) | ||||
|                         onSuccess(isActive, successMessage) | ||||
|                     } else { | ||||
|                         self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." | ||||
|                         self.isShowErrorPopup = true | ||||
|   | ||||
| @@ -548,8 +548,11 @@ struct LiveRoomViewV2: View { | ||||
|             } | ||||
|              | ||||
|             if viewModel.isShowRouletteSettings { | ||||
|                 RouletteSettingsView(isShowing: $viewModel.isShowRouletteSettings) { isActiveRoulette in | ||||
|                     self.viewModel.setActiveRoulette(isActiveRoulette: isActiveRoulette) | ||||
|                 RouletteSettingsView(isShowing: $viewModel.isShowRouletteSettings) { isActiveRoulette, message in | ||||
|                     self.viewModel.setActiveRoulette( | ||||
|                         isActiveRoulette: isActiveRoulette, | ||||
|                         message: message | ||||
|                     ) | ||||
|                 } | ||||
|             } | ||||
|              | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung