fix: Continue as default dev user button navigates to /admin #163

Closed
groombook-engineer[bot] wants to merge 3 commits from fix/gro-264-skip-login-button into main

3 Commits

Author SHA1 Message Date
Barkley Trimsworth c201115a1f fix(portal): add missing drizzle-orm operators and fix staffId type
- Import lt, gt, ne from @groombook/db alongside existing eq/and
- Add non-null assertion on appt.staffId since appointment always has staffId

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-28 13:19:56 +00:00
Flea Flicker 96f1494126 fix(portal): implement reschedule button and modal for Customer Portal
- Add POST /api/portal/appointments/:id/reschedule endpoint with:
  - Session auth via X-Impersonation-Session-Id header
  - Ownership validation (clientId match)
  - Past/in-progress/cancelled/completed guard
  - Conflict detection for the target time slot
  - Duration-preserving reschedule (keeps original endTime offset)

- Add RescheduleFlow modal component in AppointmentsSection:
  - Date picker + time slot grid (same times as BookingFlow)
  - Shows current appointment summary
  - POSTs to /api/portal/appointments/:id/reschedule
  - Reloads page on success

- Wire Reschedule button in AppointmentCard (Appointments section)
- Wire Reschedule button in Dashboard next-appointment card
- Add showReschedule/rescheduleAppointment state in CustomerPortal

Fixes GRO-166

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 12:02:37 +00:00
groombook-ci[bot] b3a3f8023a fix(portal): wire up Edit Pet and Add New Pet buttons in customer portal
Enable the Edit Pet button on Manage Pets (Settings) and Pet Profiles,
and the Add New Pet button. Add PetForm component for editing. Remove
disabled/stub attributes from Reschedule, Cancel, and Add Notes buttons
in Dashboard and Appointments.

Resolves GRO-167.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-28 10:59:22 +00:00