feat(GRO-106): staff messages page #405

Merged
lint-roller-qa[bot] merged 3 commits from feat/GRO-106-staff-messages-frontend into dev 2026-05-14 16:23:27 +00:00

3 Commits

Author SHA1 Message Date
Chris Farhood 6a7229f330 merge: resolve conflicts with dev (keep API-aligned frontend)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-14 16:20:40 +00:00
Chris Farhood 9d9d7da13d fix(GRO-985): fix Messages test mocks and scrollIntoView guard
- Wrap conversation mocks in { items, nextCursor } response shape
  (loadConversations reads json.items, bare array caused undefined.length crash)
- Guard scrollIntoView with ?. (jsdom doesn't implement it)
- Use getAllByText for text appearing in both preview and thread

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-14 16:15:24 +00:00
Chris Farhood e605e1be74 fix(GRO-1242): align Messages frontend with conversations API contract
- Extract Conversation interface fields to match API response:
  replace lastMessageBody with lastMessage object, externalNumber with
  clientPhone, remove staffReadAt
- loadConversations(): extract json.items array instead of raw array
- loadMessages(): extract json.items and reverse() for chronological order
- Update test mocks to use { items, nextCursor } response shape

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 13:02:47 +00:00