feat: add GOV.UK report issue action

This commit is contained in:
FuelBoard Contributor
2026-09-17 22:18:27 +01:00
parent 44cbd3b1e4
commit 6c8fd8b0de
2 changed files with 21 additions and 0 deletions
+16
View File
@@ -11,6 +11,9 @@ struct StationDetailView: View {
let location: Coordinate? let location: Coordinate?
let distanceUnit: DistanceUnit let distanceUnit: DistanceUnit
@Environment(\.dismiss) private var dismiss @Environment(\.dismiss) private var dismiss
@State private var showingReportIssueConfirmation = false
private let reportIssueURL = URL(string: "https://www.gov.uk/guidance/report-an-error-in-fuel-prices-or-forecourt-details")!
private var stationCoordinate: CLLocationCoordinate2D { private var stationCoordinate: CLLocationCoordinate2D {
CLLocationCoordinate2D(latitude: station.lat, longitude: station.lng) CLLocationCoordinate2D(latitude: station.lat, longitude: station.lng)
@@ -51,10 +54,23 @@ struct StationDetailView: View {
} label: { } label: {
Label("Directions", systemImage: "arrow.triangle.turn.up.right.diamond.fill") Label("Directions", systemImage: "arrow.triangle.turn.up.right.diamond.fill")
} }
Button(role: .destructive) {
showingReportIssueConfirmation = true
} label: {
Label("Report issue", systemImage: "exclamationmark.bubble.fill")
}
} }
} }
.navigationTitle(station.name) .navigationTitle(station.name)
.navigationBarTitleDisplayMode(.inline) .navigationBarTitleDisplayMode(.inline)
.alert("Report an error?", isPresented: $showingReportIssueConfirmation) {
Button("Cancel", role: .cancel) { }
Button("Open GOV.UK") {
UIApplication.shared.open(reportIssueURL)
}
} message: {
Text("Are you sure you want to report an error in fuel prices or forecourt details? This will open in your chosen browser.")
}
.toolbar { .toolbar {
ToolbarItem(placement: .cancellationAction) { ToolbarItem(placement: .cancellationAction) {
Button("Done") { dismiss() } Button("Done") { dismiss() }
+5
View File
@@ -147,6 +147,11 @@
"You" = "You"; "You" = "You";
"Done" = "Done"; "Done" = "Done";
"Directions" = "Directions"; "Directions" = "Directions";
"Report issue" = "Report issue";
"Report an error?" = "Report an error?";
"Cancel" = "Cancel";
"Open GOV.UK" = "Open GOV.UK";
"Are you sure you want to report an error in fuel prices or forecourt details? This will open in your chosen browser." = "Are you sure you want to report an error in fuel prices or forecourt details? This will open in your chosen browser.";
/* Station row */ /* Station row */
"best" = "best"; "best" = "best";