From fcf864a15b70e4ecb5bd789b1db3116221c34394 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sat, 11 Apr 2026 11:48:40 -0500 Subject: add FUNDING.yml --- Rune/App/RuneApp.swift | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'Rune/App') diff --git a/Rune/App/RuneApp.swift b/Rune/App/RuneApp.swift index 8c63dd6..1709532 100644 --- a/Rune/App/RuneApp.swift +++ b/Rune/App/RuneApp.swift @@ -50,23 +50,30 @@ private struct RootView: View { } .task { await settingsViewModel.bootstrap() + await syncAuthenticatedState() } - .task(id: settingsViewModel.isAuthenticated) { - guard let client = settingsViewModel.client else { - domainViewModel.reset() - tokenViewModel.reset() - selectedTab = 0 - return + .onChange(of: settingsViewModel.client) { _, _ in + Task { + await syncAuthenticatedState() } - - await domainViewModel.loadDomains(client: client) - await tokenViewModel.loadTokens(client: client) } .fullScreenCover(isPresented: onboardingBinding) { OnboardingView(viewModel: settingsViewModel) } } + private func syncAuthenticatedState() async { + guard let client = settingsViewModel.client else { + domainViewModel.reset() + tokenViewModel.reset() + selectedTab = 0 + return + } + + await domainViewModel.loadDomains(client: client) + await tokenViewModel.loadTokens(client: client) + } + private var onboardingBinding: Binding { Binding( get: { settingsViewModel.requiresOnboarding }, -- cgit v1.2.3