diff --git a/SodaLive/Sources/Common/LoadingView.swift b/SodaLive/Sources/Common/LoadingView.swift index 7e7d159..891b54d 100644 --- a/SodaLive/Sources/Common/LoadingView.swift +++ b/SodaLive/Sources/Common/LoadingView.swift @@ -8,57 +8,18 @@ import SwiftUI struct LoadingView: View { - @State var index = 0 - - @State var timer = Timer.publish(every: 0.35, on: .current, in: .common).autoconnect() - var body: some View { ZStack { Color.primary.opacity(0.2) .ignoresSafeArea() ZStack { - Image("loading_1") - .resizable() + ActivityIndicatorView() .frame(width: 100, height: 100) - .opacity(index == 0 ? 1.0 : 0.0) - - Image("loading_2") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 1 ? 1.0 : 0.0) - - Image("loading_3") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 2 ? 1.0 : 0.0) - - Image("loading_4") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 3 ? 1.0 : 0.0) - - Image("loading_5") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 4 ? 1.0 : 0.0) } .frame(width: 150, height: 150) - .background(Color.white) - .cornerRadius(14) - .shadow(color: Color.primary.opacity(0.07), radius: 5, x: 5, y: 5) - .shadow(color: Color.primary.opacity(0.07), radius: 5, x: -5, y: -5) } .frame(maxWidth: .infinity, maxHeight: .infinity) - .onReceive(timer) { _ in - DispatchQueue.main.async { - if index == 4 { - index = 0 - } else { - index += 1 - } - } - } } } @@ -67,3 +28,16 @@ struct LoadingView_Previews: PreviewProvider { LoadingView() } } + +struct ActivityIndicatorView: UIViewRepresentable { + func makeUIView(context: Context) -> some UIActivityIndicatorView { + let activityIndicator = UIActivityIndicatorView(style: .large) + activityIndicator.color = UIColor(hex: "80D8FF") + return activityIndicator + } + + func updateUIView(_ uiView: UIViewType, context: Context) { + uiView.startAnimating() + } +} +