summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/HgRepositorySettingsView.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/HgRepositorySettingsView.swift
parentb82bbeeea48ad27832a355c2a41408559c411104 (diff)
downloadhutch-10d68934d4f45bf60e1736371ff790c50600198d.tar.gz
hutch-10d68934d4f45bf60e1736371ff790c50600198d.tar.bz2
hutch-10d68934d4f45bf60e1736371ff790c50600198d.zip
fix README height update and settings save alertsv2.1
Diffstat (limited to 'Hutch/Views/Repositories/HgRepositorySettingsView.swift')
-rw-r--r--Hutch/Views/Repositories/HgRepositorySettingsView.swift31
1 files changed, 29 insertions, 2 deletions
diff --git a/Hutch/Views/Repositories/HgRepositorySettingsView.swift b/Hutch/Views/Repositories/HgRepositorySettingsView.swift
index 3894b9d..5f45da8 100644
--- a/Hutch/Views/Repositories/HgRepositorySettingsView.swift
+++ b/Hutch/Views/Repositories/HgRepositorySettingsView.swift
@@ -9,6 +9,7 @@ struct HgRepositorySettingsView: View {
@State private var viewModel: HgRepositorySettingsViewModel?
@State private var showDeleteConfirmation = false
@State private var pendingACLDeletion: HgACLEntry?
+ @State private var saveResultAlert: SaveResultAlert?
var body: some View {
NavigationStack {
@@ -88,6 +89,13 @@ struct HgRepositorySettingsView: 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"))
+ )
+ }
}
@ViewBuilder
@@ -108,7 +116,13 @@ struct HgRepositorySettingsView: 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()
@@ -188,7 +202,13 @@ struct HgRepositorySettingsView: View {
Toggle("Hide this repository from public listings", isOn: Bindable(viewModel).editedNonPublishing)
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()
@@ -236,4 +256,11 @@ struct HgRepositorySettingsView: View {
.disabled(viewModel.isDeleting)
}
}
+
+ private struct SaveResultAlert: Identifiable {
+ let title: String
+ let message: String
+
+ var id: String { "\(title)-\(message)" }
+ }
}