@@ -18,7 +18,6 @@ struct ContentView: View {
18
18
@State private var columnVisibility = NavigationSplitViewVisibility . detailOnly
19
19
@State private var selectedServer : DjangoFilesSession ?
20
20
@State private var selectedSession : DjangoFilesSession ? // Track session for settings
21
- @State private var showingSelector = false // Show SessionSelector
22
21
@State private var needsRefresh = false // Added to handle refresh after adding server
23
22
@State private var itemToDelete : DjangoFilesSession ? // Track item to be deleted
24
23
@State private var showingDeleteAlert = false // Track if delete alert is showing
@@ -51,7 +50,7 @@ struct ContentView: View {
51
50
}
52
51
}
53
52
}
54
- . animation ( . linear, value: items)
53
+ . animation ( . linear, value: self . items)
55
54
. toolbar {
56
55
ToolbarItem {
57
56
Button ( action: {
@@ -120,6 +119,10 @@ struct ContentView: View {
120
119
Button ( " Delete " , role: . destructive) {
121
120
if let item = itemToDelete, let index = items. firstIndex ( of: item) {
122
121
deleteItems ( offsets: [ index] )
122
+ if selectedServer == item {
123
+ needsRefresh = true
124
+ selectedServer = nil
125
+ }
123
126
}
124
127
}
125
128
} message: {
@@ -217,6 +220,12 @@ public struct AuthViewContainer: View {
217
220
selectedServer. auth = false
218
221
showSidebarButton. wrappedValue = true
219
222
columnVisibility. wrappedValue = . automatic
223
+ modelContext. insert ( selectedServer)
224
+ do {
225
+ try modelContext. save ( )
226
+ } catch {
227
+ print ( " Error saving session: \( error) " )
228
+ }
220
229
self . presentationMode. wrappedValue. dismiss ( )
221
230
break
222
231
default :
0 commit comments