Skip to content

CL-5863: Channel row ellipsis menu + details panel - #46

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-5863-channel-ellipsis
Aug 10, 2026
Merged

CL-5863: Channel row ellipsis menu + details panel#46
TheGreatAxios merged 2 commits into
mainfrom
cl-5863-channel-ellipsis

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Closes CL-5863

What

Brings the channel row ellipsis menu and a channel-details contribution to the shell contextual panel.

Changes

  • Ellipsis menu on panel channel rows (ChannelsBand and LiveActivityBand): hover-revealed menu with Rename (inline) and a Pin/Unpin archive toggle. Both flow through the existing single PATCH /channels/:id/settings route via patchChannelSettings (chat/name, chat/pinned) — no new endpoint, no new API surface.
  • Channel-details panel contribution: when a specific channel is open, the panel prints its name, kind, and pinned state above the channel list, using the activity data already in flight (no extra fetch).
  • Pure helpers (panelRowMenuLabels, panelRenamePayload, channelDetails) are exported and unit-tested.

The row pattern mirrors packages/chat-ui/src/sidebar.tsx's ChannelRow; the panel version is a strict subset (rename + pin only — no settings-dialog item, since the panel isn't where that dialog lives).

Test plan

  • panel-contributions.test.ts — 8 new unit tests (labels, rename payload, details mapping)
  • bun test ./src/shell + contextual-panel suites pass (21 pass)
  • tsc -p apps/web clean
  • Prettier applied

Channel rows in the contextual panel (ChannelsBand and LiveActivityBand)
now carry a hover-revealed ellipsis menu with Rename (inline) and a
Pin/Unpin archive toggle. Both go through the existing settings PATCH via
patchChannelSettings (chat/name, chat/pinned) — no new endpoint.

Also adds a channel-details panel contribution: when a specific channel is
selected, the panel prints its name, kind, and pinned state above the list,
using the activity data already in flight (no extra fetch).

Pure helpers (panelRowMenuLabels, panelRenamePayload, channelDetails) are
exported for unit tests.
@TheGreatAxios
TheGreatAxios force-pushed the cl-5863-channel-ellipsis branch from 961a1e8 to 67ed60c Compare August 10, 2026 00:23
@TheGreatAxios
TheGreatAxios merged commit 421c56c into main Aug 10, 2026
2 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-5863-channel-ellipsis branch August 10, 2026 00:29
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