diff --git a/Tusker/Screens/Onboarding/OnboardingViewController.swift b/Tusker/Screens/Onboarding/OnboardingViewController.swift index 36f2e775..5e6553f7 100644 --- a/Tusker/Screens/Onboarding/OnboardingViewController.swift +++ b/Tusker/Screens/Onboarding/OnboardingViewController.swift @@ -245,10 +245,17 @@ extension OnboardingViewController { extension OnboardingViewController: InstanceSelectorTableViewControllerDelegate { func didSelectInstance(url instanceURL: URL) { - Task { - await self.login(to: instanceURL) - instanceSelector.tableView.selectRow(at: nil, animated: true, scrollPosition: .none) - } + let alert = UIAlertController(title: "Terms of Service", message: "By logging in to '\(instanceURL.host!)', you agree to follow all applicable rules and terms of service for that instance.", preferredStyle: .alert) + alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { [unowned self] _ in + self.instanceSelector.tableView.selectRow(at: nil, animated: false, scrollPosition: .none) + })) + alert.addAction(UIAlertAction(title: "Continue", style: .default, handler: { [unowned self] _ in + Task { + await self.login(to: instanceURL) + self.instanceSelector.tableView.selectRow(at: nil, animated: true, scrollPosition: .none) + } + })) + present(alert, animated: true) } }