From b526cddd8ec421eba00feecbdffae3978cb61b34 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sun, 12 Apr 2026 18:53:13 -0500 Subject: feat: improve Home structure and navigation implements: https://todo.sr.ht/~ccleberg/hutch/14 implements: https://todo.sr.ht/~ccleberg/hutch/15 implements: https://todo.sr.ht/~ccleberg/hutch/16 --- Hutch/Views/Builds/BuildRowView.swift | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'Hutch/Views/Builds/BuildRowView.swift') 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 { -- cgit v1.2.3