summaryrefslogtreecommitdiff
path: root/Hutch/Views/Builds
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Views/Builds')
-rw-r--r--Hutch/Views/Builds/BuildRowView.swift38
1 files changed, 38 insertions, 0 deletions
diff --git a/Hutch/Views/Builds/BuildRowView.swift b/Hutch/Views/Builds/BuildRowView.swift
index e2afd27..9602e5c 100644
--- a/Hutch/Views/Builds/BuildRowView.swift
+++ b/Hutch/Views/Builds/BuildRowView.swift
@@ -36,6 +36,44 @@ struct BuildRowView: View {
}
}
+struct JobStatusBadge: View {
+ let status: JobStatus
+
+ var body: some View {
+ HStack(spacing: 4) {
+ JobStatusIcon(status: status)
+ .frame(width: 12, height: 12)
+ Text(status.displayTitle)
+ .font(.caption2.weight(.medium))
+ }
+ .foregroundStyle(.secondary)
+ .padding(.horizontal, 8)
+ .padding(.vertical, 4)
+ .background(Color(.secondarySystemFill), in: Capsule())
+ }
+}
+
+extension JobStatus {
+ var displayTitle: String {
+ switch self {
+ case .pending:
+ "Pending"
+ case .queued:
+ "Queued"
+ case .running:
+ "Running"
+ case .success:
+ "Succeeded"
+ case .failed:
+ "Failed"
+ case .cancelled:
+ "Cancelled"
+ case .timeout:
+ "Timed Out"
+ }
+ }
+}
+
// MARK: - Job Status Icon
struct JobStatusIcon: View {