a6dbe8c46ec49fe9d9169c5bb181a2fe43939a35
Fix 1 — the offline banner's subtitle claimed 'pull to refresh' while that gesture only exists on the Stations tab, yet the banner pins across ALL tabs. Copy now says where the gesture lives: 'Pull to refresh on the Stations tab'. The banner itself stays tappable everywhere (tap = retry), so the retry path is never trapped on one tab. Fix 2 — fetch-failed-with-cache case showed stale saved prices with NO feedback (looked like a working live app). New second banner state 'Check your internet connection / Tap to try again' (red wifi.exclamation mark, tap = retry) now appears whenever the fetch fails but a saved cache is on screen. It clears on the next successful fetch. - ContentView: offlineDataDate:String? -> dataStatus enum (.live / .offlineDump(date) / .connectionProblem) driving a shared statusBanner (icon/tint/title/subtitle); -forceConnectionProblem QA launch hook; auto-refresh skipped under either force-* hook - Localizable.strings: subtitle key updated, +5 new keys (incl. date-less 'Offline data' fallback + a11y labels) - Tests unchanged (101 green) — pure view-layer change
Description
FuelBoard iOS app - England-wide petrol station prices (widget + app)
150 MiB
Languages
Swift
99%
Shell
1%