Commit Graph
3 Commits
Author SHA1 Message Date
FuelBoard Contributor 5246f41c48 Widget Favourites filter: pinned stations cheapest-first, no radius
- New Sort by value 'Favourites' in Edit Widget (per-widget config).
- ParameterSummary hides the Distance picker when Favourites is selected
  (favourites are not radius-bound).
- Favourites mode reads keychain favourites (shared access group works on
  SideStore free even without App Groups), filters to the widget's fuel,
  refreshes prices from a focused relay fetch when in range, and ranks
  cheapest-first with distance tiebreak. Not radius-filtered.
- App now re-saves refreshed favourites to keychain after every fetch so
  the widget shows current prices instead of star-time snapshots.
- Empty state + headings adapt to favourites mode. 35 tests pass.
2026-08-12 13:45:42 +01:00
FuelBoard Contributor 2a8de27571 Widget: per-widget distance, sanitised names, £ prices
- New Distance picker in Edit Widget (5/10/15 miles), independent of the
  app's distance filter; used for both the relay fetch radius and the
  strict in-widget filter.
- Brand text is now title-cased via sanitizedStationTitle (relay sends
  all-caps brands like SHELL/TESCO/MORRISONS).
- Prices now show as £1.399 (monospaced) matching the app, instead of
  139.9p.
- Directions deep-link (mapsDirectionsURL) already per-row on medium and
  whole-widget on small; unchanged. 35 tests pass.
2026-08-12 12:25:30 +01:00
FuelBoard Contributor 002d7f63e2 Widgets configured per-instance via App Intent
FuelPriceWidget now uses AppIntentConfiguration with a per-widget
FuelBoardWidgetConfigurationIntent (fuel + sort). Each widget placed on
the home screen carries its OWN fuel type (Unleaded/Premium/Diesel) and
ordering (Cheapest/Closest), edited by long-press -> Edit Widget —
independent of the app's selection, so multiple widgets can show
different data side by side. Widget no longer reads the app's selected
fuel. 35 tests pass.
2026-08-12 11:45:37 +01:00