From 5900a81473c55d83f7bd6666d2fb3a06273735f2 Mon Sep 17 00:00:00 2001 From: FuelBoard Contributor Date: Thu, 15 Oct 2026 22:48:07 +0100 Subject: [PATCH] Station detail: price above its age, and the verdict caption on its own line - More info lists the fuel price first, with "Price updated" beneath it: the price is what the row is about, the age qualifies it. - The detail sheet stacks "vs closest eligible station" under the verdict capsule, matching the listing rows, so the caption no longer shares a line with the verdict it describes. --- FuelBoard/FuelSavingsViews.swift | 7 +++++-- FuelBoard/StationDetailView.swift | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/FuelBoard/FuelSavingsViews.swift b/FuelBoard/FuelSavingsViews.swift index b8b6b11..f8f9fcc 100644 --- a/FuelBoard/FuelSavingsViews.swift +++ b/FuelBoard/FuelSavingsViews.swift @@ -149,14 +149,17 @@ struct FuelSavingsSummaryView: View { // room for. The old shape led with a status word + headline that // matched neither the listing nor each other. VStack(alignment: .leading, spacing: 10) { - HStack(alignment: .firstTextBaseline, spacing: 6) { + // Same shape as the listing rows: the capsule takes the line + // and the comparison caption sits directly beneath it, so the + // verdict never competes for width with its own caption. + VStack(alignment: .leading, spacing: 4) { capsule(for: result, compact: false) .accessibilityLabel(accessibilityHeadline(for: result)) Text(comparisonLabel(for: result)) .font(.subheadline) .foregroundStyle(.secondary) .lineLimit(1) - .layoutPriority(1) + .minimumScaleFactor(0.85) .accessibilityLabel("Comparison: \(comparisonLabel(for: result))") } LabeledContent("Your fill-up", value: amountText) diff --git a/FuelBoard/StationDetailView.swift b/FuelBoard/StationDetailView.swift index 85ee020..0a5fa2b 100644 --- a/FuelBoard/StationDetailView.swift +++ b/FuelBoard/StationDetailView.swift @@ -213,10 +213,10 @@ struct StationDetailView: View { LabeledContent("Distance", value: distance.labelWithReturn(unit: distanceUnit)) .monospacedDigit() } - LabeledContent("Price updated", value: priceFreshness.updateAgeLabel) - .monospacedDigit() LabeledContent("\(selectedFuel.displayName) price", value: selectedFuelPriceText) .monospacedDigit() + LabeledContent("Price updated", value: priceFreshness.updateAgeLabel) + .monospacedDigit() ForEach(StationNotice.notices(for: station)) { notice in Label(notice.title, systemImage: notice.symbolName) .font(.subheadline.weight(.semibold))