Skip to content

Commit

Permalink
Allow deleting custom lists
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Petersson committed Feb 28, 2024
1 parent b74b165 commit 1189e5f
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 18 deletions.
2 changes: 1 addition & 1 deletion ios/MullvadSettings/CustomListRepository.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public enum CustomRelayListError: LocalizedError, Equatable {
switch self {
case .duplicateName:
NSLocalizedString(
"DUPLICATE_CUSTOM_LIST_ERROR",
"DUPLICATE_CUSTOM_LISTS_ERROR",
tableName: "CustomListRepository",
value: "Name is already taken.",
comment: ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ class AddCustomListCoordinator: Coordinator, Presentable, Presenting {
controller.delegate = self

controller.navigationItem.title = NSLocalizedString(
"CUSTOM_LIST_NAVIGATION_EDIT_TITLE",
"CUSTOM_LISTS_NAVIGATION_EDIT_TITLE",
tableName: "CustomLists",
value: "New custom list",
comment: ""
)

controller.saveBarButton.title = NSLocalizedString(
"CUSTOM_LIST_NAVIGATION_CREATE_BUTTON",
"CUSTOM_LISTS_NAVIGATION_CREATE_BUTTON",
tableName: "CustomLists",
value: "Create",
comment: ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,26 +158,39 @@ class CustomListViewController: UIViewController {
}

private func onDelete() {
// TODO: Show error dialog.
delegate?.customListDidDelete()
showDeleteAlert()
}

private func showSaveErrorAlert() {
private func showDeleteAlert() {
let presentation = AlertPresentation(
id: "api-custom-lists-save-list-alert",
id: "api-custom-lists-delete-list-alert",
icon: .alert,
message: NSLocalizedString(
"CUSTOM_LISTS_SAVE_ERROR_PROMPT",
"CUSTOM_LISTS_DELETE_PROMPT",
tableName: "APIAccess",
value: "List name is already taken.",
value: "Delete \(subject.value.name)?",
comment: ""
),
buttons: [
AlertAction(
title: NSLocalizedString(
"CUSTOM_LISTS_OK_BUTTON",
"CUSTOM_LISTS_DELETE_BUTTON",
tableName: "APIAccess",
value: "Got it!",
value: "Delete",
comment: ""
),
style: .destructive,
handler: {
self.interactor.deleteCustomList(id: self.subject.value.id)
self.dismiss(animated: true)
self.delegate?.customListDidDelete()
}
),
AlertAction(
title: NSLocalizedString(
"CUSTOM_LISTS_CANCEL_BUTTON",
tableName: "APIAccess",
value: "Cancel",
comment: ""
),
style: .default
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ class EditCustomListCoordinator: Coordinator, Presentable, Presenting {
self.customListInteractor = customListInteractor
}

func start() {
func start(customList: CustomList) {
let subject = CurrentValueSubject<CustomListViewModel, Never>(
CustomListViewModel(
id: UUID(),
name: "A list",
locations: [],
id: customList.id,
name: customList.name,
locations: customList.locations,
tableSections: [.name, .editLocations, .deleteList]
)
)
Expand Down
2 changes: 0 additions & 2 deletions ios/MullvadVPN/Coordinators/SelectLocationCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import MullvadTypes
import Routing
import UIKit

import MullvadSettings

class SelectLocationCoordinator: Coordinator, Presentable, Presenting, RelayCacheTrackerObserver {
private let tunnelManager: TunnelManager
private let relayCacheTracker: RelayCacheTracker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ class EditAccessMethodViewController: UITableViewController {
id: "api-access-methods-delete-method-alert",
icon: .alert,
message: NSLocalizedString(
"METHOD_SETTINGS_SAVE_PROMPT",
"METHOD_SETTINGS_DELETE_PROMPT",
tableName: "APIAccess",
value: "Delete \(methodName)?",
comment: ""
Expand Down

0 comments on commit 1189e5f

Please sign in to comment.