Skip to content

chore(web): people tab as ws-table + drop dead string-built sidebar nav - #801

Merged
Zach Dunn (zachdunn) merged 2 commits into
mainfrom
claude/wonderful-greider-da4e9b
Aug 23, 2026
Merged

chore(web): people tab as ws-table + drop dead string-built sidebar nav#801
Zach Dunn (zachdunn) merged 2 commits into
mainfrom
claude/wonderful-greider-da4e9b

Conversation

@zachdunn

@zachdunn Zach Dunn (zachdunn) commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

Two related cleanups on the workspace shell's people surface after PR #800.

Drop the dead string-built sidebar nav

PR #800 replaced the string-built nav in AccountLayout/AdminLayout with the ShellSidebar island, leaving six exports in apps/web/src/lib/workspaces-nav.ts with no callers outside their own tests:

  • initWorkspacesNav
  • renderSwitcherMenuHtml
  • renderWorkspaceSectionNavHtml
  • renderSettingsSubnavHtml
  • switcherLabel
  • shouldShowTriggerBadge

Verified via grep that nothing in apps/web/src references them (the two remaining hits were doc comments, updated here). Deleted them plus the DOM glue that existed only for them (paint, bindSwitcher, paintTriggerBadge, closeMenu, displayName, WorkspacesNavOptions) and their test cases. Kept everything shell-sidebar-data.ts still consumes: tab definitions, pathname parsing, path builders, membership/quota caches, and loadWorkspaces.

Render the people tab as a real table

The people list was ad-hoc flex rows while every other list on the shell is a table. renderMembersHtml/renderInvitesHtml now emit <tr> rows and a new renderPeopleTableHtml wraps them in the same .ws-table chrome the galleries tab uses, with Name / Email / Role columns. Members and pending invites share one table, the SSR placeholder mirrors the same chrome (no layout jump on hydrate), and the role cell keeps the existing manage controls and hook classes (member-row__role-select, member-row__remove, invite-row__revoke), so the page script is unchanged apart from wrapping rows in the shell.

People tab rendered as a ws-table with Name, Email, and Role columns

Verification

  • pnpm --filter @uploads/web exec tsc --noEmit clean
  • web vitest suite: 57 files, 852 tests passed
  • Verified live on the local stack (signed-in dev-session): table renders with correct columns, right-aligned role, no new console errors

PR #800 replaced AccountLayout/AdminLayout's string-built nav with the
ShellSidebar island, leaving initWorkspacesNav, renderSwitcherMenuHtml,
renderWorkspaceSectionNavHtml, renderSettingsSubnavHtml, switcherLabel,
and shouldShowTriggerBadge with no callers outside their own tests.
Delete them plus the DOM glue and tests that existed only for them; the
tab definitions, pathname parsing, and membership caches that
shell-sidebar-data.ts still consumes stay put.
@changeset-bot

changeset-bot Bot commented Aug 23, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 90a248e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (2)
  • coderabbit:review
  • review
🚫 Excluded labels (none allowed) (1)
  • wip

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e6c08257-2677-4200-bff3-ab59dae95a4e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 23, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
uploads-web 90a248e Commit Preview URL

Branch Preview URL
Aug 23 2026, 05:12 PM

The people list was ad-hoc flex rows; every other list on the workspace
shell (galleries, admin) is a real table. Rework
renderMembersHtml/renderInvitesHtml to emit <tr> rows and add
renderPeopleTableHtml — the same .ws-table chrome the galleries tab
uses — with Name / Email / Role columns. Members and pending invites
share one table; the SSR placeholder mirrors the same chrome so the
swap repaints without rearranging. Role cell keeps the existing
manage controls (role select + remove, revoke) and their hook classes.
@uploads-sh

uploads-sh Bot commented Aug 23, 2026

Copy link
Copy Markdown

127.0.0.1-account-workspaces-dev-demo-people-after.webp
/account/workspaces/dev-demo/people · after

Maintained by uploads.sh · add media: uploads put <file> --pr 801 · docs

@zachdunn Zach Dunn (zachdunn) changed the title chore(web): drop dead string-built sidebar nav from workspaces-nav chore(web): people tab as ws-table + drop dead string-built sidebar nav Aug 23, 2026
@zachdunn
Zach Dunn (zachdunn) merged commit 99381ac into main Aug 23, 2026
4 checks passed
@zachdunn
Zach Dunn (zachdunn) deleted the claude/wonderful-greider-da4e9b branch August 23, 2026 21:00
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