Commit Graph

134 Commits

Author SHA1 Message Date
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
e90078d39e feat: add updateProfile, updatePassword, deleteAccount API endpoints
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 13:02:23 +01:00
Ovidiu U
94d695d637 docs: add settings Vue migration implementation plan 2026-04-11 12:54:57 +01:00
Ovidiu U
1d39c69fe4 docs: add settings Vue migration design spec 2026-04-11 12:41:27 +01:00
Ovidiu U
c6e65330b2 fix: make SPA catch-all param optional, add named dashboard route
Some checks failed
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 18:17:49 +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
580f9c6929 feat: add user preferences and saved stations API endpoints
Adds authenticated endpoints for reading/updating fuel type preferences and managing saved stations, backed by new migrations and a SavedStation model.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:06:31 +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
acaa791eda feat: allow Sanctum-authenticated sessions through VerifyApiKey middleware
Enables stateful API via Sanctum so the Vue SPA can call /api/* routes
using cookie auth, without requiring an X-Api-Key header.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 17:56:14 +01:00
Ovidiu U
8cf5e210de feat: add Vue 3 and Axios, configure Vite plugin
Install vue@3.5, @vitejs/plugin-vue@6.0 (Vite 8 compatible), and
axios@1.9. Add vue() plugin to vite.config.js alongside existing
laravel and tailwindcss plugins.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 17:54:32 +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
Some checks failed
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
Some checks failed
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
Some checks failed
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
7869d27c63 cleanup
Some checks failed
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:13:44 +01:00
Ovidiu U
1074681dd9 livewire kit
Some checks failed
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
Some checks failed
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
Some checks failed
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
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
Some checks failed
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
Some checks failed
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