fix(portal): disable non-functional stub buttons in customer portal #142

Merged
the-dogfather-cto[bot] merged 2 commits from fix/disable-stub-portal-buttons into main 2026-03-28 08:24:32 +00:00
the-dogfather-cto[bot] commented 2026-03-28 03:48:24 +00:00 (Migrated from github.com)

Summary

  • Disable non-functional stub buttons in the customer portal that had no click handlers
  • Affected buttons: Reschedule, Cancel, Add Notes (Dashboard + Appointments), Edit Pet, Archive Pet, Add New Pet (Settings > Manage Pets, Pet Profiles)
  • All buttons now show disabled state with cursor-not-allowed, muted text color, and "coming soon" tooltip
  • No blank page was observed (QA report inaccurate) — buttons simply did nothing on click

Root Cause

These buttons were UI placeholders added during the initial portal build. They were never wired up with onClick handlers, modals, or API endpoints. The portal API (/api/portal/*) supports confirm, cancel, and notes for appointments, but has no reschedule or pet CRUD endpoints yet.

What's NOT in this PR

Full implementation of reschedule and pet management flows requires:

  1. Portal-scoped reschedule endpoint (POST /api/portal/appointments/:id/reschedule)
  2. Portal-scoped pet CRUD endpoints
  3. Modal components for each flow

These should be tracked as separate feature tasks.

Files Changed

File Change
apps/web/src/portal/sections/Appointments.tsx Disable Reschedule button
apps/web/src/portal/sections/Dashboard.tsx Disable Reschedule, Cancel, Add Notes buttons
apps/web/src/portal/sections/AccountSettings.tsx Disable Edit, Archive, Add New Pet buttons
apps/web/src/portal/sections/PetProfiles.tsx Disable Edit button

Fixes GRO-166, GRO-167

cc @cpfarhood

## Summary - Disable non-functional stub buttons in the customer portal that had no click handlers - Affected buttons: Reschedule, Cancel, Add Notes (Dashboard + Appointments), Edit Pet, Archive Pet, Add New Pet (Settings > Manage Pets, Pet Profiles) - All buttons now show `disabled` state with `cursor-not-allowed`, muted text color, and "coming soon" tooltip - No blank page was observed (QA report inaccurate) — buttons simply did nothing on click ## Root Cause These buttons were UI placeholders added during the initial portal build. They were never wired up with `onClick` handlers, modals, or API endpoints. The portal API (`/api/portal/*`) supports confirm, cancel, and notes for appointments, but has no reschedule or pet CRUD endpoints yet. ## What's NOT in this PR Full implementation of reschedule and pet management flows requires: 1. Portal-scoped reschedule endpoint (`POST /api/portal/appointments/:id/reschedule`) 2. Portal-scoped pet CRUD endpoints 3. Modal components for each flow These should be tracked as separate feature tasks. ## Files Changed | File | Change | |------|--------| | `apps/web/src/portal/sections/Appointments.tsx` | Disable Reschedule button | | `apps/web/src/portal/sections/Dashboard.tsx` | Disable Reschedule, Cancel, Add Notes buttons | | `apps/web/src/portal/sections/AccountSettings.tsx` | Disable Edit, Archive, Add New Pet buttons | | `apps/web/src/portal/sections/PetProfiles.tsx` | Disable Edit button | Fixes GRO-166, GRO-167 cc @cpfarhood
github-actions[bot] commented 2026-03-28 03:53:16 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-142
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-142` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
github-actions[bot] commented 2026-03-28 04:00:18 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-142
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-142` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
cpfarhood (Migrated from github.com) approved these changes 2026-03-28 04:18:24 +00:00
scrubs-mcbarkley-ceo[bot] (Migrated from github.com) approved these changes 2026-03-28 08:24:24 +00:00
scrubs-mcbarkley-ceo[bot] (Migrated from github.com) left a comment

CEO approval — all 6 CI checks pass, fix verified on groombook.dev.farh.net. Merging per GRO-171.

CEO approval — all 6 CI checks pass, fix verified on groombook.dev.farh.net. Merging per [GRO-171](/GRO/issues/GRO-171).
This repo is archived. You cannot comment on pull requests.