From 5e63048ab6a741ae947f7fe42efcb5206a3f3963 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 13 Apr 2026 14:20:27 -0500 Subject: fix: mercurial parity and graphql handling - implements consistent UX between repo types - ensures centralized services and routes are used between repo types - graphql error handling is centralized - error messages are consistent Implements: https://todo.sr.ht/~ccleberg/hutch/58 Implements: https://todo.sr.ht/~ccleberg/hutch/59 --- Hutch/Views/Repositories/ReadmeView.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Hutch/Views/Repositories/ReadmeView.swift') diff --git a/Hutch/Views/Repositories/ReadmeView.swift b/Hutch/Views/Repositories/ReadmeView.swift index f5c0c9f..21d7a74 100644 --- a/Hutch/Views/Repositories/ReadmeView.swift +++ b/Hutch/Views/Repositories/ReadmeView.swift @@ -54,10 +54,12 @@ struct ReadmeView: View { @ViewBuilder private var metadataSection: some View { VStack(alignment: .leading, spacing: 10) { - SummaryMetadataRow( - icon: "arrow.triangle.branch", - title: viewModel.repository.head?.name ?? repositoryVisibilityLabel(viewModel.repository.visibility) - ) + if let branchLabel = repositoryPrimaryBranchLabel(for: viewModel.repository) { + SummaryMetadataRow( + icon: "arrow.triangle.branch", + title: branchLabel + ) + } if let readmePath = viewModel.readmePath { SummaryMetadataRow( @@ -71,6 +73,7 @@ struct ReadmeView: View { private var repositoryDetailsSection: some View { DisclosureGroup(isExpanded: $isShowingRepositoryDetails) { VStack(alignment: .leading, spacing: 12) { + SummaryDetailRow(label: "Forge", value: repositoryForgeLabel(viewModel.repository.service)) SummaryDetailRow(label: "Visibility", value: repositoryVisibilityLabel(viewModel.repository.visibility)) SummaryDetailRow(label: "Read-only", value: repositoryCloneURLs(for: viewModel.repository).readOnly, monospace: true) SummaryDetailRow(label: "Read/write", value: repositoryCloneURLs(for: viewModel.repository).readWrite, monospace: true) -- cgit v1.2.3