summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/RepositorySettingsView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-03-19 17:05:16 -0500
committerChristian Cleberg <[email protected]>2026-03-19 17:05:16 -0500
commit10d68934d4f45bf60e1736371ff790c50600198d (patch)
treec70ca00041a884274d7b857c10a7b83d452d21b0 /Hutch/Views/Repositories/RepositorySettingsView.swift
parentb82bbeeea48ad27832a355c2a41408559c411104 (diff)
downloadhutch-2.1.tar.gz
hutch-2.1.tar.bz2
hutch-2.1.zip
fix README height update and settings save alertsv2.1
Diffstat (limited to 'Hutch/Views/Repositories/RepositorySettingsView.swift')
-rw-r--r--Hutch/Views/Repositories/RepositorySettingsView.swift23
1 files changed, 22 insertions, 1 deletions
diff --git a/Hutch/Views/Repositories/RepositorySettingsView.swift b/Hutch/Views/Repositories/RepositorySettingsView.swift
index 5074138..5606ec6 100644
--- a/Hutch/Views/Repositories/RepositorySettingsView.swift
+++ b/Hutch/Views/Repositories/RepositorySettingsView.swift
@@ -11,6 +11,7 @@ struct RepositorySettingsView: View {
@State private var viewModel: RepositorySettingsViewModel?
@State private var showDeleteConfirmation = false
@State private var pendingACLDeletion: ACLEntry?
+ @State private var saveResultAlert: SaveResultAlert?
var body: some View {
NavigationStack {
@@ -91,6 +92,13 @@ struct RepositorySettingsView: View {
Text("\(entry.entity.canonicalName) will lose \(entry.mode) access to this repository.")
}
}
+ .alert(item: $saveResultAlert) { alert in
+ Alert(
+ title: Text(alert.title),
+ message: Text(alert.message),
+ dismissButton: .default(Text("OK"))
+ )
+ }
}
// MARK: - Info Section
@@ -122,7 +130,13 @@ struct RepositorySettingsView: View {
}
Button {
- Task { await viewModel.saveInfo() }
+ Task {
+ let didSave = await viewModel.saveInfo()
+ saveResultAlert = SaveResultAlert(
+ title: didSave ? "Settings Updated" : "Couldn't Update Settings",
+ message: didSave ? "Repository settings were saved." : (viewModel.error ?? "Please try again.")
+ )
+ }
} label: {
if viewModel.isSavingInfo {
ProgressView()
@@ -256,4 +270,11 @@ struct RepositorySettingsView: View {
.disabled(viewModel.isDeleting)
}
}
+
+ private struct SaveResultAlert: Identifiable {
+ let title: String
+ let message: String
+
+ var id: String { "\(title)-\(message)" }
+ }
}