fix(portal): disable non-functional Reschedule buttons (GRO-166) #146

Closed
groombook-engineer[bot] wants to merge 3 commits from fix/disable-stub-reschedule-button-gro-166 into main

3 Commits

Author SHA1 Message Date
groombook-ci[bot] f99218cfae fix(portal): disable non-functional Reschedule buttons (GRO-166)
Commit b3a3f80 removed disabled/stub attributes from Reschedule
buttons but never implemented the onClick handlers. Buttons were
enabled but inert — clicking did nothing, perceived as "blank page."

Restore disabled state with "Rescheduling — coming soon" tooltip
to both Dashboard and Appointments Reschedule buttons.

Full reschedule flow requires a /api/portal/appointments/:id/reschedule
endpoint — tracked separately.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-28 11:15:55 +00:00
groombook-ci[bot] 512e983d34 fix(db): make seed script idempotent using upserts
Convert raw inserts to upserts (ON CONFLICT DO UPDATE) for:
- staff: upsert on email (unique constraint)
- services: upsert on id (deterministic UUID)
- clients: upsert on email (unique constraint)
- pets: upsert on id (deterministic UUID)

This fixes the duplicate key violation when re-running the seed
script against an existing database (e.g., after schema migrations
or test restarts).

Note: appointments, invoices, visit logs still use raw inserts
and would need DELETE-before-insert for full idempotency. Those
tables use deterministic UUIDs so a second seed run without
prior DELETE would still fail. This is scoped to the immediate
staff email constraint violation reported.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-28 11:09:51 +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