Skip to content

Dashboard v2: expandable KV rows in overview panels#35

Merged
jeftekhari merged 1 commit into
feat/dashboard-v2from
feat/dashboard-v2-expandable-rows
Apr 20, 2026
Merged

Dashboard v2: expandable KV rows in overview panels#35
jeftekhari merged 1 commit into
feat/dashboard-v2from
feat/dashboard-v2-expandable-rows

Conversation

@jeftekhari

Copy link
Copy Markdown
Contributor

Stacked on #34.

Summary

  • Overview panels (Data Collection, Transport, AI Systems, Third-Party) render each row as a clickable `v2-xkv` dropdown. Click flips ▸→▾ and reveals a preview line with the actual items behind the count.
  • Previews: file paths for forms, `POST /api/...` for API endpoints, cookie names, per-header present/partial/missing status, AI usage locations, third-party purpose + DPA URL.
  • Access Controls + Dependencies stay plain — no useful list to expand.

Ports the `ExpandableKV` pattern from the Claude Design v2 mock so panel counts aren't opaque.

Test plan

  • `npm run lint` + `npm test` pass.
  • On /?repo=shipstuff/joeeftekhari.com, click Forms / API endpoints / Cookies — preview line appears with real file paths and field names.
  • Click Headers in Transport — shows per-header ✓/~/✗ status.
  • Caret flips consistently, no content shift on toggle.
  • Click is scoped to the caret row only (clicking inside the preview text doesn't collapse it).

Overview panels (Data Collection, Transport, AI Systems, Third-Party)
now render each row as a clickable v2-xkv dropdown. Clicking flips a
caret (▸ → ▾) and reveals a preview line showing the actual items
behind the count: file paths for forms/APIs, cookie names, header
statuses, AI usage locations, third-party DPA/purpose.

Ports the ExpandableKV pattern from the Claude Design v2 mock so the
counts in the panel grid aren't opaque — you can drill in without
leaving the overview tab. Access Controls and Dependencies stay as
plain KV rows since they have no useful list to expand.
@jeftekhari jeftekhari merged commit f733d76 into feat/dashboard-v2 Apr 20, 2026
1 check passed
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