summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSteffen <steffen.ernst@mullvad.net>2025-06-05 11:10:48 +0200
committerBug Magnet <marco.nikic@mullvad.net>2025-06-10 16:14:18 +0200
commit5a86d15003f012f4ef2b98d66b9930fe342c9f10 (patch)
treeb69e2a885d7f110386f369a81456a4385d6950f2
parentc810184d2a2b3abd215957ee9b0ce471d12878db (diff)
downloadmullvadvpn-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.swift8
-rw-r--r--ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift17
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