summaryrefslogtreecommitdiff
path: root/Hutch/Views/Builds/BuildDetailView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-12 19:07:57 -0500
committerChristian Cleberg <[email protected]>2026-04-12 19:07:57 -0500
commitd4757fd9f3aba663df967ae7cadb7f74c3d7acb4 (patch)
treeb6739ffcddfb40fe8b703ee24a6ade76798da85d /Hutch/Views/Builds/BuildDetailView.swift
parentb3d3e68e742650cb8a448a1f51fea7fb7783c36f (diff)
downloadhutch-d4757fd9f3aba663df967ae7cadb7f74c3d7acb4.tar.gz
hutch-d4757fd9f3aba663df967ae7cadb7f74c3d7acb4.tar.bz2
hutch-d4757fd9f3aba663df967ae7cadb7f74c3d7acb4.zip
fix: polish build retry and cancel actions
fixes: https://todo.sr.ht/~ccleberg/hutch/19
Diffstat (limited to 'Hutch/Views/Builds/BuildDetailView.swift')
-rw-r--r--Hutch/Views/Builds/BuildDetailView.swift14
1 files changed, 8 insertions, 6 deletions
diff --git a/Hutch/Views/Builds/BuildDetailView.swift b/Hutch/Views/Builds/BuildDetailView.swift
index 33590e2..5070536 100644
--- a/Hutch/Views/Builds/BuildDetailView.swift
+++ b/Hutch/Views/Builds/BuildDetailView.swift
@@ -262,6 +262,10 @@ struct BuildDetailView: View {
get: { viewModel.error },
set: { viewModel.error = $0 }
))
+ .srhtErrorBanner(error: Binding(
+ get: { viewModel.actionError },
+ set: { _ in viewModel.dismissActionError() }
+ ))
}
}
@@ -287,7 +291,6 @@ private struct EditResubmitBuildSheet: View {
let onSubmitted: (Int) -> Void
@Environment(\.dismiss) private var dismiss
- @Bindable var viewModelBindable: BuildDetailViewModel
@State private var manifest: String
@State private var tagsText: String
@State private var note: String
@@ -297,7 +300,6 @@ private struct EditResubmitBuildSheet: View {
init(viewModel: BuildDetailViewModel, job: JobDetail, onSubmitted: @escaping (Int) -> Void) {
self.viewModel = viewModel
- self._viewModelBindable = Bindable(viewModel)
self.job = job
self.onSubmitted = onSubmitted
_manifest = State(initialValue: job.manifest ?? "")
@@ -337,10 +339,10 @@ private struct EditResubmitBuildSheet: View {
.foregroundStyle(.secondary)
}
- if let error = viewModel.error {
+ if let actionError = viewModel.actionError {
Section {
Label {
- Text(error)
+ Text(actionError)
} icon: {
Image(systemName: "exclamationmark.triangle.fill")
.foregroundStyle(.red)
@@ -352,12 +354,12 @@ private struct EditResubmitBuildSheet: View {
.navigationTitle("Edit & Resubmit")
.navigationBarTitleDisplayMode(.inline)
.onDisappear {
- viewModelBindable.error = nil
+ viewModel.dismissActionError()
}
.toolbar {
ToolbarItem(placement: .cancellationAction) {
Button("Cancel") {
- viewModelBindable.error = nil
+ viewModel.dismissActionError()
dismiss()
}
}