diff options
| author | Steffen <steffen.ernst@mullvad.net> | 2025-06-05 11:10:48 +0200 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2025-06-10 16:14:18 +0200 |
| commit | 5a86d15003f012f4ef2b98d66b9930fe342c9f10 (patch) | |
| tree | b69e2a885d7f110386f369a81456a4385d6950f2 | |
| parent | c810184d2a2b3abd215957ee9b0ce471d12878db (diff) | |
| download | mullvadvpn-5a86d15003f012f4ef2b98d66b9930fe342c9f10.tar.xz mullvadvpn-5a86d15003f012f4ef2b98d66b9930fe342c9f10.zip | |
Add done button to dns view when coming from feature indicator
| -rw-r--r-- | ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift | 8 | ||||
| -rw-r--r-- | ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift | 17 |
2 files changed, 22 insertions, 3 deletions
diff --git a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift index 625ea19ec3..b7da14dc1d 100644 --- a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift +++ b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift @@ -29,6 +29,14 @@ class CustomDNSCoordinator: Coordinator, Presentable, Presenting { if route == .dnsSettings { navigationController.navigationItem.largeTitleDisplayMode = .always navigationController.navigationBar.prefersLargeTitles = true + let doneButton = UIBarButtonItem( + systemItem: .done, + primaryAction: UIAction(handler: { [weak self] _ in + guard let self else { return } + didFinish?(self) + }) + ) + viewController.navigationItem.rightBarButtonItem = doneButton } } } diff --git a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift index 60ab057b82..7b1227cfe0 100644 --- a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift +++ b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift @@ -48,9 +48,13 @@ class CustomDNSViewController: UITableViewController { value: "DNS settings", comment: "" ) - - navigationItem.rightBarButtonItem = editButtonItem - navigationItem.rightBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton) + if navigationItem.rightBarButtonItem != nil { + navigationItem.leftBarButtonItem = editButtonItem + navigationItem.leftBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton) + } else { + navigationItem.rightBarButtonItem = editButtonItem + navigationItem.rightBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton) + } interactor.tunnelSettingsDidChange = { [weak self] newSettings in self?.dataSource?.update(from: newSettings) @@ -69,6 +73,13 @@ class CustomDNSViewController: UITableViewController { dataSource?.setEditing(editing, animated: animated) navigationItem.setHidesBackButton(editing, animated: animated) + if navigationItem.rightBarButtonItem != editButtonItem { + if #available(iOS 16.0, *) { + navigationItem.rightBarButtonItem?.isHidden = editing + } else { + navigationItem.rightBarButtonItem?.isEnabled = !editing + } + } // Disable swipe to dismiss when editing isModalInPresentation = editing |
