feat(bookings): improve admin booking wizard and user dashboard

Backend:
- Enriched GetAllUserBookings response with calculated total_amount,
  amount_paid, and duration_minutes.
- Refactored GetBookingHandler to return a flat booking object matching
  frontend expectations.
- Added account_role to admin user list response and sorted users by
  booking activity.
- Corrected function name oo to AdminCreateBookingForUserHandler.

Frontend:
- Rebuilt BookingCreateModal into a 4-step wizard supporting guest
  bookings, service overrides, and real-time availability checks.
- Fixed account dashboard logic to correctly identify upcoming vs past
  bookings and sort unpaid items to the top.
- Extracted booking flow into a shared BookingFlow component.
- Redirected admin users from home page to /today.
This commit is contained in:
2026-02-12 22:15:10 +00:00
parent 2ace6d4d87
commit 50746595e7
34 changed files with 7688 additions and 5413 deletions
+10 -11
View File
@@ -4,21 +4,21 @@
"type": "split",
"children": [
{
"id": "f918f140cb277962",
"id": "4f4ac1241ce3420f",
"type": "tabs",
"children": [
{
"id": "7fe99991d0e457c6",
"id": "0c84336298f72379",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Express.js Cheat Sheet.md",
"mode": "preview",
"file": "Crussell/Crussell Nails.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Express.js Cheat Sheet"
"title": "Crussell Nails"
}
}
]
@@ -78,8 +78,7 @@
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
"width": 300
},
"right": {
"id": "2750d7726f904ef3",
@@ -170,12 +169,12 @@
"bases:Create new base": false
}
},
"active": "7fe99991d0e457c6",
"active": "0c84336298f72379",
"lastOpenFiles": [
"Crussell/Backend/bookings.md",
"Crussell/Crussell Nails.md",
"Untitled.base",
"Untitled.canvas",
"Express.js Cheat Sheet.md",
"Crussell/Crussell Nails.md",
"Crussell/Backend/bookings.md"
"Express.js Cheat Sheet.md"
]
}