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
02b004f381
fix: handle TransientToken in logout for session-based auth
...
When the SPA authenticates via cookies (not Bearer token), Sanctum returns
a TransientToken from currentAccessToken() which has no delete() method.
Detect it and invalidate the session instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 13:29:03 +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
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
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
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
7869d27c63
cleanup
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
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
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