diff --git a/Tusker/SceneDelegate.swift b/Tusker/SceneDelegate.swift index 3ee0eec3..bb50fb30 100644 --- a/Tusker/SceneDelegate.swift +++ b/Tusker/SceneDelegate.swift @@ -142,8 +142,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } func activateAccount(_ account: LocalData.UserAccountInfo, animated: Bool) { - let oldIndex = LocalData.shared.accounts.firstIndex(where: { $0.id == LocalData.shared.mostRecentAccountID })! - let newIndex = LocalData.shared.accounts.firstIndex(of: account)! LocalData.shared.setMostRecentAccount(account) window!.windowScene!.session.mastodonController = MastodonController.getForAccount(account) @@ -151,7 +149,9 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { let newRoot = createAppUI() if let container = window?.rootViewController as? AccountSwitchingContainerViewController { let direction: AccountSwitchingContainerViewController.AnimationDirection - if animated { + if animated, + let oldIndex = LocalData.shared.accounts.firstIndex(where: { $0.id == LocalData.shared.mostRecentAccountID }), + let newIndex = LocalData.shared.accounts.firstIndex(of: account) { direction = newIndex > oldIndex ? .upwards : .downwards } else { direction = .none