feat: enriched edit request system with side-by-side snapshots, calendar preloading, and admin review UI
Backend: - Add enriched response types (EditSnapshot, EnrichedEditRequest) with original vs proposed snapshots - Add 4 new GET endpoints for viewing edit requests (user and admin scoped) - Remove github.com/lib/pq dependency — use native PostgreSQL array scanning - Clean up edit requests, time blockers, and notifications on booking cancellation - Validate exceptional closed hours on admin approve (409 Conflict) - Notification upsert on edit request replace (no duplicate admin notifications) Frontend: - New user EditRequestModal with time/services/both modes and lunch protection - New admin EditRequestModal with side-by-side diff (date/time, services, notes) - Integrate edit requests into PendingApprovals card and notifications page - Preload 3 months of availability to prevent calendar snap-back - Apply lunch protection to isDateUnavailable in BookingFlow and BookingCreateModal - Fix accessibility: card list items use <button> instead of <div> Dev & Docs: - Seed edit requests in local-dev-2.sh - Update all Obsidian manuals with enriched edit request documentation - 42 new tests (438/441 passing)
This commit is contained in:
@@ -18,6 +18,7 @@ Nail salon booking platform — Go 1.25 backend + SvelteKit 5 frontend + Docker.
|
||||
- **CardDAV sync**: profile photos synced to SabreDAV contacts
|
||||
- **Admin notifications**: priority-sorted queue with bell icon, `/notifications` page, acknowledge flow
|
||||
- **User notification preferences**: per-channel toggles (email, SMS, browser) in account settings
|
||||
- **Enriched edit requests**: side-by-side original vs proposed booking snapshots (time, services, prices, durations, user details) for admin review
|
||||
|
||||
## Project Structure
|
||||
|
||||
@@ -89,7 +90,7 @@ cd backend && go build -o bin/backend ./main.go
|
||||
# Frontend
|
||||
cd frontend && npm ci && npm run build
|
||||
|
||||
# Tests (396/399 passing, 3 skipped)
|
||||
# Tests (438/441 passing, 3 skipped)
|
||||
cd backend && go test -tags "test,dev" ./...
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user