Ovidiu U
5acb99c9e3
Remove obsolete Livewire fuel search components and consolidate pricing tiers
...
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
- Delete unused Livewire Search test and fuel type select Blade component
- Move subscription webhook listener from EventServiceProvider to AppServiceProvider
- Add FUEL_TYPES global config to app layout for client-side use
- Add Billable trait to User model and include email_verified_at in fillable
- Implement monthly/annual cadence toggle with pricing display and smart CTA routing on homepage
- Update VerifyApiKeyMiddlewareTest to use e10 instead of petrol
- Refactor PollFuelPrices to auto-refresh stale stations based on last_seen_at
- Add incremental polling with cached timestamp and effective-start-timestamp param to FuelPriceService
- Normalize amenities/fuel_types from API objects to flat arrays, skip stations missing required fields
- Log response body on API failures in ApiLogger
- Default homepage sort to 'reliable' instead of 'price'
2026-04-20 14:12:15 +01:00
Ovidiu U
d25883ead4
feat: add geolocation support with Near Me button and user location marker on map
...
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
- Add "Near Me" button to SearchBar with loading state and geolocation via postcodes.io API
- Display user location on map with pulsing blue marker using geolocation API with IP fallback
- Adjust map zoom level based on search radius for better context
- Pass radiusMiles prop from
2026-04-11 21:27:11 +01:00
Ovidiu U
a969c1b347
feat: add fuel price classification markers and responsive search UI improvements
...
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
- Move map pin icon to right side of input with adjusted spacing
- Change button styling from accent to primary color
2026-04-11 20:51:07 +01:00
Ovidiu U
951bb0b98d
feat: add sort select to homepage SearchBar
2026-04-11 18:57:03 +01:00
Ovidiu U
b8adc98669
feat: add brand and reliable sort options to StationList
2026-04-11 18:55:21 +01:00
Ovidiu U
2747047f53
fix: correct default fuelType in useStations from 'petrol' to 'e10'
2026-04-11 18:50:29 +01:00
Ovidiu U
5fe9f9dc6d
fix: empty results state and validation error display on homepage
2026-04-11 18:48:25 +01:00
Ovidiu U
276f9bf612
feat: wire up homepage search with map and station list
2026-04-11 18:46:34 +01:00
Ovidiu U
6f52f3f0d7
feat: add defaultOpen prop to LeafletMap
2026-04-11 18:45:26 +01:00
Ovidiu U
d11d500a35
fix: accessibility and Enter key handling in SearchBar
2026-04-11 18:44:34 +01:00
Ovidiu U
b5ee25db67
feat: add fuel type and radius selects to SearchBar
2026-04-11 17:23:56 +01:00
Ovidiu U
03b0bece2c
feat: add auth guards and server-side logout with postcode search integration
...
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
- Add navigation guard requiring authentication for dashboard routes
- Create
2026-04-11 17:08:19 +01:00
Ovidiu U
069a85cf11
refactor: migrate from hardcoded hex colors to Tailwind CSS color tokens
...
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
Replace all hardcoded hex color values with semantic Tailwind design tokens:
- `#bb5b3e` → `accent`
- `#a34a31` → `accent-content` / `primary-dark`
- `#4a3f3b`, `#89726c` → `zinc-800`, `zinc-500`
- `#e5ded7`, `#faf6f3` → `zinc-300`, `zinc-50`
- `#8
2026-04-11 16:26:34 +01:00
Ovidiu U
977ae8a5a1
chore: remove orphaned settings-heading partial
...
settings-heading.blade.php was a Livewire settings layout partial with no
remaining references after the settings Vue migration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:27:47 +01:00
Ovidiu U
25770445bc
fix: correct $route naming and aria-expanded type in DashboardLayout
...
- Rename \$route → route (no \$ prefix in script setup, that's Options API)
- Use string 'true'/'false' for aria-expanded (ARIA spec requires string)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:26:22 +01:00
Ovidiu U
3895356b0d
fix: replace Alpine dropdown with Vue reactive state in DashboardLayout
...
Alpine.js is not loaded in the Vue SPA bundle, causing the avatar dropdown
to never open and making Settings and Log out inaccessible. Replaced x-data/
x-show/x-transition/@click.away with Vue refs, onMounted/onUnmounted click-
outside listener, and Vue's built-in <Transition> component.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:21:27 +01:00
Ovidiu U
ea7a5b4f10
chore: remove Livewire settings pages — migrated to Vue SPA
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:14:34 +01:00
Ovidiu U
83809cd4f3
feat: add Appearance settings view with light/dark/system theme toggle
2026-04-11 13:13:09 +01:00
Ovidiu U
f714169183
feat: add Security settings view with password update and 2FA management
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:11:58 +01:00
Ovidiu U
00e99044f6
feat: add Profile settings view with name/email form and delete account modal
2026-04-11 13:09:40 +01:00
Ovidiu U
5bf8868124
feat: add settings routes and SettingsLayout sub-nav
2026-04-11 13:08:11 +01:00
Ovidiu U
bd68a179d8
feat: add user avatar dropdown with settings and logout to dashboard nav
2026-04-11 13:07:00 +01:00
Ovidiu U
7976b9facc
feat: add logout, updateProfile, updatePassword, deleteAccount to useAuth
2026-04-11 13:05:04 +01:00
Ovidiu U
6224dedd45
fix: restore route('home'), remove dashboard Blade route, load iconify in SPA
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 18:14:58 +01:00
Ovidiu U
1bfcb84402
feat: add dashboard Overview, SavedStations, and Preferences views
2026-04-10 18:09:31 +01:00
Ovidiu U
4c3ef5af99
feat: add DashboardLayout with sidebar navigation
2026-04-10 18:08:59 +01:00
Ovidiu U
fe01d2d6d0
feat: add useSavedStations composable
2026-04-10 18:08:38 +01:00
Ovidiu U
0bae0945c0
feat: build full Home.vue with search, station list, map, and prediction
2026-04-10 18:04:10 +01:00
Ovidiu U
d7054402dd
feat: add PredictionCard component with tier gating
2026-04-10 18:02:23 +01:00
Ovidiu U
f9befb463f
feat: add usePrediction composable
2026-04-10 18:02:02 +01:00
Ovidiu U
6785bf952f
feat: add LeafletMap component (foldable), remove legacy station-map.js
2026-04-10 18:01:55 +01:00
Ovidiu U
393c9cc147
feat: add StationList component with sort tabs
2026-04-10 18:01:38 +01:00
Ovidiu U
d25e4e3747
feat: add StationCard component
2026-04-10 18:01:29 +01:00
Ovidiu U
bbbef2d60c
feat: add useStations composable
2026-04-10 18:01:18 +01:00
Ovidiu U
acade5a735
feat: add SearchBar component with debounce
2026-04-10 18:01:10 +01:00
Ovidiu U
52bbfa5592
feat: add useAuth composable with user tier detection
2026-04-10 18:00:59 +01:00
Ovidiu U
87e7a9aa84
feat: bootstrap Vue 3 app with Vue Router and Axios
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 17:59:06 +01:00
Ovidiu U
05b5d1f3b3
feat: add SPA Blade shell and catch-all route
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 17:57:54 +01:00
Ovidiu U
69e52afa7c
chore: remove Livewire public components and homepage, prepare for Vue
2026-04-10 17:53:03 +01:00
Ovidiu U
771f499f36
feat: add pricing section and hero redesign to homepage
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-10 11:41:13 +01:00
Ovidiu U
28d4a9df5c
frontend
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-09 15:41:07 +01:00
Ovidiu U
c47d024b36
homepage layout
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-09 15:28:51 +01:00
Ovidiu U
1074681dd9
livewire kit
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-09 15:10:53 +01:00
Ovidiu U
19d5c6eb0b
feat: add Laravel Fortify skill, condense API data rules, add homepage mockup
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-09 14:19:04 +01:00
Ovidiu U
1848c070da
feat: replace flux:select with dropdown menus using Alpine.js for fuel filters
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-08 10:06:55 +01:00
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