Best Value: explain price age per surface instead of one blanket warning
- Station detail now separates the station's own report age from the selected fuel's update time, so a recent station-wide report no longer reads as an old price. - Warning copy names the fuel and says which side is weak: the station's price is not individually dated, or the baseline's is. The misleading "unverified or older than 7 days" line is gone. - Wording stays "Closest" throughout; new copy uses Unleaded / Premium / Diesel rather than the internal grade codes. - Localisation: new and updated keys for the added copy.
This commit is contained in:
@@ -25,6 +25,8 @@ struct FavouritesView: View {
|
||||
/// journey distance — the same baseline and definition the Stations list uses.
|
||||
var savingsForStation: (FuelStation) -> FuelSavingsAvailability? = { _ in nil }
|
||||
var journeyDiagnosticsForStation: (FuelStation) -> FuelSavingsJourneyDiagnostics? = { _ in nil }
|
||||
var savingsPriceConfidenceForStation: (FuelStation) -> FuelPriceFreshness.ComparisonConfidence
|
||||
var savingsPriceWarningForStation: (FuelStation) -> String? = { _ in nil }
|
||||
var onToggleFavourite: (FuelStation, FuelType) -> Void = { _, _ in }
|
||||
/// Persists a reordered favourites array (after drag-and-drop).
|
||||
var onReorder: ([FavouriteEntry]) -> Void = { _ in }
|
||||
@@ -84,6 +86,8 @@ struct FavouritesView: View {
|
||||
fuelSavingsAmount: Binding<FuelSavingsFillAmount>,
|
||||
savingsForStation: @escaping (FuelStation) -> FuelSavingsAvailability? = { _ in nil },
|
||||
journeyDiagnosticsForStation: @escaping (FuelStation) -> FuelSavingsJourneyDiagnostics? = { _ in nil },
|
||||
savingsPriceConfidenceForStation: @escaping (FuelStation) -> FuelPriceFreshness.ComparisonConfidence = { _ in .ineligible },
|
||||
savingsPriceWarningForStation: @escaping (FuelStation) -> String? = { _ in nil },
|
||||
onToggleFavourite: @escaping (FuelStation, FuelType) -> Void = { _, _ in },
|
||||
onReorder: @escaping ([FavouriteEntry]) -> Void = { _ in },
|
||||
onHistoryUnavailable: (() -> Void)? = nil,
|
||||
@@ -98,6 +102,8 @@ struct FavouritesView: View {
|
||||
_fuelSavingsAmount = fuelSavingsAmount
|
||||
self.savingsForStation = savingsForStation
|
||||
self.journeyDiagnosticsForStation = journeyDiagnosticsForStation
|
||||
self.savingsPriceConfidenceForStation = savingsPriceConfidenceForStation
|
||||
self.savingsPriceWarningForStation = savingsPriceWarningForStation
|
||||
self.onToggleFavourite = onToggleFavourite
|
||||
self.onReorder = onReorder
|
||||
self.onHistoryUnavailable = onHistoryUnavailable
|
||||
@@ -144,10 +150,7 @@ struct FavouritesView: View {
|
||||
|
||||
if fuelSavingsSettings.isConfigured {
|
||||
Section {
|
||||
FuelSavingsAdjustmentView(
|
||||
amount: $fuelSavingsAmount,
|
||||
referencePricePencePerLitre: cheapestPrice
|
||||
)
|
||||
FuelSavingsAdjustmentView(amount: $fuelSavingsAmount)
|
||||
} footer: {
|
||||
Text(String(localized: "Savings below are estimated against the closest eligible station by journey distance — the same baseline as the Stations list.", comment: "Favourites fuel-savings explanation"))
|
||||
}
|
||||
@@ -168,6 +171,8 @@ struct FavouritesView: View {
|
||||
tapAction: stationTapAction,
|
||||
fuelSavings: savingsForStation(station),
|
||||
fuelSavingsAmount: fuelSavingsAmount,
|
||||
savingsPriceConfidence: savingsPriceConfidenceForStation(station),
|
||||
savingsPriceWarning: savingsPriceWarningForStation(station),
|
||||
onToggleFavourite: { onToggleFavourite(station, activeFuel) },
|
||||
onShowDetails: { detailStation = $0 }
|
||||
)
|
||||
@@ -216,8 +221,11 @@ struct FavouritesView: View {
|
||||
station: station,
|
||||
location: location,
|
||||
distanceUnit: distanceUnit,
|
||||
selectedFuel: activeFuel,
|
||||
fuelSavings: savingsForStation(station),
|
||||
fuelSavingsAmount: fuelSavingsAmount,
|
||||
savingsPriceConfidence: savingsPriceConfidenceForStation(station),
|
||||
savingsPriceWarning: savingsPriceWarningForStation(station),
|
||||
journeyDiagnostics: journeyDiagnosticsForStation(station),
|
||||
// Every station listed here IS a favourite for the tab's
|
||||
// fuel, so the star starts filled; tapping it unstars.
|
||||
|
||||
Reference in New Issue
Block a user