Ovidiu U
7b6aaac661
chore: remove StationSearch, dead Volt SFCs, mobile prototype, and fix homepage CTAs
2026-04-08 09:24:40 +01:00
Ovidiu U
c935903614
feat: strip FuelFinder to layout shell, wire sub-components
2026-04-08 08:48:15 +01:00
Ovidiu U
bce5aa72c8
feat: extract fuel.map component and wire Leaflet to map-update browser event
2026-04-08 08:46:33 +01:00
Ovidiu U
0809a5340b
feat: extract fuel.recommendation Livewire component
2026-04-08 08:46:16 +01:00
Ovidiu U
c4f5fd042b
fix: remove dead search property, simplify empty state message
2026-04-07 22:04:15 +01:00
Ovidiu U
a576ef6b4a
feat: extract fuel.station-list Livewire component
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 22:02:08 +01:00
Ovidiu U
266051c52b
fix: use required rule for sort property (non-nullable string)
2026-04-07 22:00:38 +01:00
Ovidiu U
0b289c8ec2
feat: extract fuel.search Livewire component with stations-found dispatch
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 21:58:01 +01:00
Ovidiu U
f4a958a76c
docs: FuelFinder sub-component split design spec
2026-04-07 21:27:56 +01:00
Ovidiu U
4e9b809a10
feat: add user geolocation marker and auto-zoom to map based on search radius
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-07 20:21:31 +01:00
Ovidiu U
0b26c4c257
fix: convert avg_price from pence to pounds before linear regression calculation
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-07 14:51:14 +01:00
Ovidiu U
6da626347b
docs: add FuelFinder mobile landing implementation plan
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-07 14:43:03 +01:00
Ovidiu U
6a80c11f38
feat: add LLM prediction providers with structured output support
...
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 14:42:44 +01:00
Ovidiu U
e9612666e3
feat: wire FuelFinder to home route, replacing static homepage
2026-04-07 14:38:03 +01:00
Ovidiu U
41a2cc5f43
feat: build fuel-finder view with mobile layout
2026-04-07 14:36:21 +01:00
Ovidiu U
8a8dc15c0d
feat: add x-mobile-header and x-mobile-footer components
2026-04-07 14:35:27 +01:00
Ovidiu U
b21c99411d
feat: add x-fuel.* Blade components
2026-04-07 14:34:44 +01:00
Ovidiu U
6d6def18f1
feat: add FuelFinder Livewire component
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 14:32:45 +01:00
Ovidiu U
80ae25d98a
test: add failing FuelFinder component tests
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 14:31:00 +01:00
Ovidiu U
3d552e8fcb
docs: add FuelFinder mobile landing page design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 14:11:04 +01:00
Ovidiu U
4b29e6fdb0
feat: add saved stations mockup with iconify-icon package
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-07 08:29:12 +01:00
Ovidiu U
41be8e2806
superdesign
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-06 20:01:46 +01:00
Ovidiu U
5bc6ca720c
feat: add price classification enum and reliable sort option
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
2026-04-06 09:58:45 +01:00
Ovidiu U
f5b39e8dc4
fix: add match default arm and escape colour in station-map popup
2026-04-06 09:49:37 +01:00
Ovidiu U
4f695ca37c
test: add lat/lng to faked meta fixture in StationSearchTest
2026-04-06 09:46:17 +01:00
Ovidiu U
40c0815a2c
feat: add Leaflet map and colour legend to station search results
2026-04-06 09:45:22 +01:00
Ovidiu U
ffdcb8baff
feat: register stationMap Alpine component
2026-04-06 09:44:30 +01:00
Ovidiu U
a819292b40
fix: harden station-map component (XSS escape, destroy hook, null guard, bounds)
2026-04-06 09:43:49 +01:00
Ovidiu U
9d591a1d5a
feat: create station-map Alpine/Leaflet component
2026-04-06 09:41:05 +01:00
Ovidiu U
21aea84797
test: add postcode path assertion for meta lat/lng
2026-04-06 09:39:28 +01:00
Ovidiu U
cef21a4f0f
feat: include search lat/lng in station API meta response
2026-04-06 09:37:39 +01:00
Ovidiu U
0955873221
feat: install leaflet and import CSS
2026-04-06 09:35:35 +01:00
Ovidiu U
68c535b348
fix: use wire:model.live on fuel type, radius, sort selects to trigger updated hooks
2026-04-05 20:51:55 +01:00
Ovidiu U
dce2bd6e50
feat: auto-reload results when fuel type, sort, or radius changes
2026-04-05 20:50:18 +01:00
Ovidiu U
d4d532000d
fix: align sort validation with API (nullable)
2026-04-05 20:48:21 +01:00
Ovidiu U
fa94bb537b
feat: add sort option to station search form
2026-04-05 20:48:00 +01:00
Ovidiu U
cd9d833e44
feat: default fuel type to petrol
2026-04-05 20:46:25 +01:00
Ovidiu U
eed6ef9c81
fix: guard cache hit with instanceof to handle stale LocationResult entries
2026-04-05 20:45:28 +01:00
Ovidiu U
a11f0ba186
fix: increase postcode field max length to allow city/town names
2026-04-05 20:43:33 +01:00
Ovidiu U
f05a617af0
fix: use app.api_secret_key for self-API calls, handle ConnectionException
2026-04-05 20:41:23 +01:00
Ovidiu U
a034e5cd6d
fix: null guard on price_updated_at, consistent price formatting, use str() helper
2026-04-05 20:37:04 +01:00
Ovidiu U
93bd63aefb
feat: implement StationSearch view with form, results list, and all UI states
2026-04-05 20:34:17 +01:00
Ovidiu U
649772f65f
fix: add X-Api-Key header to API feature tests and register auth routes
2026-04-05 20:32:20 +01:00
Ovidiu U
130576c9ba
feat: implement StationSearch Livewire component
2026-04-05 20:28:15 +01:00
Ovidiu U
7e1a000e2a
feat: add API key authentication middleware
...
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Adds `VerifyApiKey` middleware to validate `X-Api-Key` header against `app.api_secret_key` config. Returns 403 if key is missing or invalid.
2026-04-05 20:27:57 +01:00
Ovidiu U
1860cf0a49
feat: add API key authentication and update tests
...
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Adds `VerifyApiKey` middleware protecting all API routes with `X-Api-Key` header validation. Wraps `/api/stations`, `/api/stats/searches`, and `/api/prediction` in throttled middleware group (60 req/min). Updates StationSearchTest to use `RefreshDatabase`, adds `meta` assertion checks, and validates `fuel_type` in HTTP request assertions. Removes auth routes from API docs and replaces with API key authentication instructions. Adds `api_secret_key` config option.
2026-04-05 20:27:41 +01:00
Ovidiu U
1318e3ac3b
test: fix quality issues in StationSearchTest
2026-04-05 20:27:17 +01:00
Ovidiu U
55cd68fbaa
test: add failing tests for StationSearch Livewire component
2026-04-05 20:24:20 +01:00
Ovidiu U
279ed529ab
feat: add fuelalert config and public /stations route
2026-04-05 20:21:43 +01:00
Ovidiu U
a80320bc27
docs: add station search page implementation plan
2026-04-05 20:19:37 +01:00