blob: a7ce5a72e6860add42b33fb88075139deac154ee (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import SwiftUI
struct SettingsCollectionsView: View {
@EnvironmentObject private var settings: SettingsManager
@State private var isDeleteConfirmationPresented = false
@State private var isRenameAlertPresented = false
@State private var newCollectionName = ""
let folder: SettingsFolder
var body: some View {
Form {
Section(header: Text("Actions")) {
Button(action: {
newCollectionName = folder.name
isRenameAlertPresented = true
}) {
Label("Rename", systemImage: "pencil")
}
Button(
role: .destructive,
action: {
isDeleteConfirmationPresented = true
}
) {
Label("Delete", systemImage: "trash")
}
}
}
.navigationTitle(folder.name)
.alert(
"Rename Collection",
isPresented: $isRenameAlertPresented
) {
TextField("Collection Name", text: $newCollectionName)
Button("Cancel", role: .cancel) {
newCollectionName = ""
isRenameAlertPresented = false
}
Button("Rename") {
settings.renameFolder(folder, to: newCollectionName)
newCollectionName = ""
isRenameAlertPresented = false
}
}
.alert(
"Are you sure you want to delete this collection?",
isPresented: $isDeleteConfirmationPresented
) {
Button("Delete", role: .destructive) {
settings.folders.removeAll { $0.id == folder.id }
}
Button("Cancel", role: .cancel) { () }
}
}
}
|