diff --git a/SodaLive/Sources/V2/Main/MainView.swift b/SodaLive/Sources/V2/Main/MainView.swift index fe998d6c..722c948e 100644 --- a/SodaLive/Sources/V2/Main/MainView.swift +++ b/SodaLive/Sources/V2/Main/MainView.swift @@ -26,6 +26,7 @@ struct MainView: View { @State private var isShowAuthConfirmView = false @State private var pendingAction: (() -> Void)? = nil @State private var payload = Payload() + @State private var hasLoadedMainData = false var body: some View { GeometryReader { proxy in @@ -51,12 +52,15 @@ struct MainView: View { } .onAppear { configurePayload() - if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { - pushTokenUpdate() - legacyHomeViewModel.getMemberInfo() - legacyHomeViewModel.getEventPopup() - legacyHomeViewModel.addAllPlaybackTracking() - } + + guard !hasLoadedMainData else { return } + guard !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else { return } + + hasLoadedMainData = true + pushTokenUpdate() + legacyHomeViewModel.getMemberInfo() + legacyHomeViewModel.getEventPopup() + legacyHomeViewModel.addAllPlaybackTracking() } if appState.isShowNotificationSettingsDialog {