Skip to content

Title pending actions and booking rows by purpose (#63, #65) - #66

Merged
pataniaeli merged 1 commit into
devfrom
feat/issue-63-65-purpose-titles
Aug 30, 2026
Merged

Title pending actions and booking rows by purpose (#63, #65)#66
pataniaeli merged 1 commit into
devfrom
feat/issue-63-65-purpose-titles

Conversation

@pataniaeli

Copy link
Copy Markdown
Collaborator

Closes #63. Closes #65.

Both issues are the same complaint: rows led with the governing body, which is the least distinguishing thing about them. A body runs many bookings, so every one of its rows read identically.

Pending Actions (#63)

lib/pending-actions.ts labels now lead with the booking's purpose — the title someone typed for this specific booking — via a titleOf() helper that falls back to the body name when a record has no purpose. Membership requests have no title at all, so they keep the body name outright.

purpose is added to the existing embeds (BOOKING_CHILD_SELECT and the room_requests select), so there is no extra round trip. An occurrence-scoped cancellation prefers that occurrence's purpose override, matching how its reference date is already resolved (#55).

Worth a look: the issue names event forms, but this applies the title to all four dated action kinds — requests, revisions, cancellations, event forms — reading "PA summary should point to event title" as the general rule. If only the two event-form kinds were meant, that is a two-line revert.

my-rooms booking rows (#65)

  • The calendar day list (the one in the issue's screenshot) leads with the purpose, with the body beside it as smaller secondary text — suppressed when it would only repeat the title.
  • The list view's rows led with the room name; they now lead with purpose too, with the room joining the date/time line. Their group heading is already the body, so repeating it per row would have been noise.
  • The "My Upcoming Spaces" cards and the calendar month cells still lead with the body — they are cards and cells, not lists, so they were left alone.

Verification

npx tsc --noEmit clean and npm run build succeeds. npm run lint reports 14 errors that are all pre-existing on dev; none are in files this branch touches. The authenticated views were not exercised in a browser.

Note

This branch and the #64 branch both touch lib/pending-actions.ts — different hunks (labels and the requests select here; the signature and the memberships query there), but whichever merges second is worth a rebase check.

🤖 Generated with Claude Code

Pending Actions and the my-rooms booking lists both led with the governing
body, which is the least distinguishing thing about a row: every booking a
body owns reads identically, so the summary said nothing about what the
outstanding task was actually for.

Both now lead with the booking's purpose -- the title someone typed for this
specific booking -- and fall back to the body name only when a record has no
purpose (membership requests, which have no title, keep the body name outright).

lib/pending-actions.ts selects `purpose` alongside the existing embeds, so no
extra round trip. An occurrence-scoped cancellation prefers that occurrence's
purpose override, matching how its reference date is already resolved (#55).

In my-rooms the calendar day list shows the body beside the title as secondary
text; the list view's rows sit under a body heading already, so the room name
takes that side slot instead of repeating the group name on every row.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
chambers Ready Ready Preview Aug 30, 2026 10:06pm

@pataniaeli
pataniaeli merged commit dfb9772 into dev Aug 30, 2026
4 checks passed
@pataniaeli
pataniaeli deleted the feat/issue-63-65-purpose-titles branch August 30, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant