From 9622e9b55d4428cd7413a6f61697492977e4b4d4 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 5 Dec 2023 12:48:50 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=A3=B0?= =?UTF-8?q?=EB=A0=9B=20-=20=EB=A3=B0=EB=A0=9B=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=B6=94=EA=B0=80=20-=20?= =?UTF-8?q?=EB=A3=B0=EB=A0=9B=20=EB=8F=8C=EB=A6=AC=EA=B8=B0=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EC=BD=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic_roulette.imageset/Contents.json | 21 ++++++++++++++++++ .../ic_roulette.imageset/ic_roulette.png | Bin 0 -> 4914 bytes .../Contents.json | 21 ++++++++++++++++++ .../ic_roulette_settings.png | Bin 0 -> 5631 bytes .../Live/Room/GetRoomInfoResponse.swift | 1 + SodaLive/Sources/Live/Room/LiveRoomView.swift | 20 +++++++++++++++++ .../Sources/Live/Room/LiveRoomViewModel.swift | 3 +++ 7 files changed, 66 insertions(+) create mode 100644 SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/ic_roulette.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/ic_roulette_settings.png diff --git a/SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/Contents.json new file mode 100644 index 0000000..6d9115d --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_roulette.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/ic_roulette.png b/SodaLive/Resources/Assets.xcassets/ic_roulette.imageset/ic_roulette.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab555e4130b2d207a82661951900526ed919a01 GIT binary patch literal 4914 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 literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/Contents.json new file mode 100644 index 0000000..d0af39f --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_roulette_settings.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/ic_roulette_settings.png b/SodaLive/Resources/Assets.xcassets/ic_roulette_settings.imageset/ic_roulette_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..8d10a95ac0c35fe761fcaec7fd179ba7afc0cd16 GIT binary patch literal 5631 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 Z{{tO%DHo#d`KAB>002ovPDHLkV1jU-zPSJZ literal 0 HcmV?d00001 diff --git a/SodaLive/Sources/Live/Room/GetRoomInfoResponse.swift b/SodaLive/Sources/Live/Room/GetRoomInfoResponse.swift index 3999f7b..d2b3f45 100644 --- a/SodaLive/Sources/Live/Room/GetRoomInfoResponse.swift +++ b/SodaLive/Sources/Live/Room/GetRoomInfoResponse.swift @@ -24,6 +24,7 @@ struct GetRoomInfoResponse: Decodable { let listenerList: [LiveRoomMember] let managerList: [LiveRoomMember] let donationRankingTop3UserIds: [Int] + let isActiveRoulette: Bool let isPrivateRoom: Bool let password: String? } diff --git a/SodaLive/Sources/Live/Room/LiveRoomView.swift b/SodaLive/Sources/Live/Room/LiveRoomView.swift index 0b0ebbd..0961f0e 100644 --- a/SodaLive/Sources/Live/Room/LiveRoomView.swift +++ b/SodaLive/Sources/Live/Room/LiveRoomView.swift @@ -307,6 +307,26 @@ struct LiveRoomView: View { } VStack(spacing: 13.3) { + if let liveRoomInfo = viewModel.liveRoomInfo { + if liveRoomInfo.creatorId == UserDefaults.int(forKey: .userId) { + Image("ic_roulette_settings") + .resizable() + .frame(width: 26.7, height: 26.7) + .padding(11) + .background(Color(hex: "525252").opacity(0.6)) + .cornerRadius(10) + .padding(.bottom, 13.3) + } else if liveRoomInfo.creatorId != UserDefaults.int(forKey: .userId) && viewModel.isActiveRoulette { + Image("ic_roulette") + .resizable() + .frame(width: 26.7, height: 26.7) + .padding(11) + .background(Color(hex: "525252").opacity(0.6)) + .cornerRadius(10) + .padding(.bottom, 13.3) + } + } + if viewModel.role == .SPEAKER { Image(viewModel.isMute ? "ic_mic_off" : "ic_mic_on") .resizable() diff --git a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift index 694df17..440078b 100644 --- a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift +++ b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift @@ -132,6 +132,8 @@ final class LiveRoomViewModel: NSObject, ObservableObject { @Published var isNoChatting = false @Published var remainingNoChattingTime = 0 + @Published var isActiveRoulette = false + var timer: DispatchSourceTimer? func setOriginOffset(_ offset: CGFloat) { @@ -243,6 +245,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject { if let data = decoded.data, decoded.success { self.liveRoomInfo = data + self.isActiveRoulette = data.isActiveRoulette self.isLoading = true self.agora.joinChannel( roomInfo: data,