client/src/lib/types.ts already defines StaffRole (admin | clinician | front_desk), but nothing in the UI
uses it — every connected wallet sees every action. Gate sensitive actions (revoking access, uploading records,
adding/removing staff) behind role checks, and reflect the current user's effective role somewhere visible in the
UI (e.g. the Navbar or Provider Profile).
Acceptance criteria
client/src/lib/types.tsalready definesStaffRole(admin|clinician|front_desk), but nothing in the UIuses it — every connected wallet sees every action. Gate sensitive actions (revoking access, uploading records,
adding/removing staff) behind role checks, and reflect the current user's effective role somewhere visible in the
UI (e.g. the Navbar or Provider Profile).
Acceptance criteria
front_deskrole cannot upload records or revoke access grants (buttons hidden or disabled with a tooltip)admin-only actions (staff management) are gated toadminrole