Skip to Content

← All archived runs

Run: admin-clickthrough-pages

run.md

Run: admin-clickthrough-pages

  • branch: claude/admin-clickthrough-pages-pipeline-l5088e
  • pr: #674

01_define/output/spec.md

Spec: Admin dashboard clickthrough pages

  • slug: admin-clickthrough-pages
  • personas: Admin
  • touches: apps/demo (app/(demo)/dashboards/admin, components/dashboard/admin, components/dashboard/detail-page-shell.tsx, lib/mock/admin.ts)
  • complexity: standard

Problem

The admin "Platform setup" dashboard (apps/demo) has several card-level clickthroughs — "Review configuration", "Manage integrations", "Manage roles", "Invite user", "Manage all users", plus the per-gap "Configure now" actions in the config-gaps panel — that point at /admin/* routes which don't exist and 404. This leaves the admin dashboard un-navigable end-to-end, blocking the Refine the Bridge initiative's Q2 2026 objective (dashboards navigable end-to-end). The shared detail-page shell and /dashboards/<persona>/<slug> convention already landed in the clickthrough-detail-foundation stub, so the admin persona pages can now be built on top of it.

Proposed change

Build a destination page for each distinct admin card-level clickthrough target using the foundation shell (components/dashboard/detail-page-shell.tsx), wire the source buttons to /dashboards/admin/<slug>, and fix the mis-prefixed config-gaps href. Each page surfaces the data its source card already holds, drawn from lib/mock/admin.ts — no new admin functionality this round. Distinct destinations (multiple buttons/gaps collapse onto these):

Source card(s) / button Target route Data to surface
"Review configuration" / "View requirements" (readiness tiles, platform-readiness) + "Configure now" gaps for setup /dashboards/admin/setup setup checklist, per-step done flags, readiness checks
"Manage integrations" + integration gap /dashboards/admin/integrations integrations list (name, type, status, issue, impact)
"Manage roles" + "Manage all users" /dashboards/admin/users users table (name, email, role, lastActive, status), roles/missing-roles
"Invite user" /dashboards/admin/users/invite invite form placeholder using current user/role data
automations gap ("Configure now") /dashboards/admin/automations the gap's issue/impact/action (minimal)

Also fix the config-gaps /admin/sla href to the existing /dashboards/admin/sla (prefix bug — no new page). Leave "View SLA table" (→ /dashboards/admin/sla) and the sidebar "Settings" (→ /dashboards/admin/settings) as-is; they already resolve.

Acceptance criteria

  • Every card-level clickthrough on the admin dashboard (readiness tiles, platform readiness, integrations, roles, user management, config-gaps actions) navigates to a page that renders, using the foundation shell with a back-link to /dashboards/admin.
  • Each destination shows the same data its source card holds, from lib/mock/admin.ts.
  • The mis-prefixed /admin/sla config-gap link points at the existing /dashboards/admin/sla.
  • Existing working routes (/dashboards/admin/sla, /dashboards/admin/settings) are unaffected, and no admin card-level clickthrough 404s.

Out of scope

  • Functional user invite, real integration management, editing configuration (pages surface card data only).
  • The orphaned admin components not mounted on the page (stats-row.tsx, recent-activity-card.tsx, setup-and-users-chart.tsx) — dead code, not wired.
  • Settings-hub in-panel tab switching (already works via local state).
  • Other personas (vendor, customer, and the rest) — separate stubs in this epic.

Open questions

  • none

02_build/output/notes.md

Build notes: admin-clickthrough-pages

  • commits: feat: admin-clickthrough-pages — destination pages + wire admin card clickthroughs

What changed

  • apps/demo/app/(demo)/dashboards/admin/setup/page.tsx (new): setup checklist with per-step done flags + go-live readiness checks, from readiness/setupChecklist.
  • apps/demo/app/(demo)/dashboards/admin/integrations/page.tsx (new): integrations table (name, type, status, issue, impact) from integrations.
  • apps/demo/app/(demo)/dashboards/admin/users/page.tsx (new): access-control summary + roles/missing-roles and the users table, from rolesPermissions/users.
  • apps/demo/app/(demo)/dashboards/admin/users/invite/page.tsx (new): invite preview placeholder — assignable roles + pending invites derived from users/rolesPermissions.
  • apps/demo/app/(demo)/dashboards/admin/automations/page.tsx (new): escalation-rules state
    • the automations config gap (issue/impact/action), minimal.
  • All five use DetailPageShell (persona admin, back-link to /dashboards/admin).
  • Wired source card clickthroughs to /dashboards/admin/<slug>: readiness-tiles.tsx (×2), platform-readiness-card.tsx, integrations-card.tsx, roles-permissions-card.tsx, user-management-table.tsx (invite + manage-all-users).
  • lib/mock/admin.ts: fixed the four config-gap hrefs to /dashboards/admin/* — including the mis-prefixed /admin/sla → existing /dashboards/admin/sla (no new page).

Acceptance criteria status

  • Every card-level clickthrough navigates to a rendering page via the foundation shell with a back-link to /dashboards/admin — setup, integrations, users, users/invite, automations built; all source hrefs repointed.
  • Each destination shows the same data its source card holds, from lib/mock/admin.ts.
  • The mis-prefixed /admin/sla config-gap link now points at /dashboards/admin/sla.
  • Existing routes (/dashboards/admin/sla, /dashboards/admin/settings) untouched; the "View gaps" #config-gaps intra-page anchor left as-is; no admin clickthrough 404s.

Verify result

  • mechanical checks (format · lint · typecheck · build) run in CI + the Vercel preview, not here. The demo app enforces --max-warnings 0; imports were kept tight to satisfy it.

Notes for review

  • The three unmounted admin components (recent-activity-card.tsx, setup-and-users-chart.tsx) still carry old /admin/* hrefs — deliberately left; they are dead code and out of scope.
  • Invite page is a preview only (no functional send) per spec Out of scope.

03_release/output/changelog.md

Changelog: admin-clickthrough-pages

  • entry: apps/help/app/changelog/2026-07-17-admin-clickthrough-pages/page.mdx
  • personas: admin
  • title: "Open every card on your platform setup dashboard"

Admins can now open a dedicated page from every action link on the platform setup dashboard ("Review configuration", "Manage integrations", "Manage roles", "Manage all users", "Invite user", and each config-gap "Configure now"), each showing the source card's data with a back-link to the dashboard — no link 404s any more.

03_release/output/investor-update.md

Admins can now navigate the platform setup dashboard end to end

Who it's for: Admins What shipped: Every action link on the admin platform-setup dashboard now opens a real page — setup, integrations, users, invites, automations — instead of a dead end. Why it matters: Advances Refine the Bridge, our push on dashboard usability and user satisfaction across the six persona dashboards.

All four acceptance criteria met; no admin dashboard link now 404s.

Dig deeper: https://github.com/sustentus/sustentus/pull/674 · https://help.sustentus.com/changelog/2026-07-17-admin-clickthrough-pages

03_release/output/release.md

Release: admin-clickthrough-pages

  • pr: #674 · merged: yes — squash-merged 2026-07-17 (4f8a6d6)
  • CI: green — Quality Project (lint · typecheck · build), preview DB migration, spec-structure advisory all passed; Vercel previews deployed (demo + web Ready). "Review diff against CONVENTIONS.md" action disabled, so review ran locally via /code-review medium.
  • technical docs: no technical docs impact — apps/docs documents the demo/dashboards app at app-level (name, purpose, port), not its internal routes; this change adds /dashboards/admin/* pages + wires clickthroughs within apps/demo, altering nothing documented.
  • business docs: no business docs impact — business/{feature-role-matrix,service-journey,platform-overview} describe product capabilities, not the mock dashboard's card navigation; the pages surface existing mock card data (no new capability).
  • release notes: both — changelog entry (apps/help/app/changelog/2026-07-17-admin-clickthrough-pages/page.mdx) + investor draft in this PR.
  • sent: investor update sent to 2 recipients on 2026-07-17.

Review summary

  • /code-review medium over the 15-file branch diff — no correctness bugs. Keys unique across all .maps; href rewrites correctly replace the 404-ing /admin/* targets; the automations page's href.endsWith("/automations") filter still matches the rewritten mock href. — verified.
  • Duplicated local helpers: statusIcon/statusLabel/statusVariant (integrations page) and roleBadge (users page) mirror copies in the source cards. — accepted: the source helpers aren't exported and each card keeps its own; extracting would touch out-of-scope files and deviate from the established per-component pattern.
  • automations gap selected by URL-suffix match rather than a semantic field. — accepted: fine for the mock; low fragility.

Acceptance check (vs spec)

  • Every card-level clickthrough navigates to a rendering page via DetailPageShell with a back-link to /dashboards/admin — setup, integrations, users, users/invite, automations built; all source hrefs repointed (readiness tiles ×2, platform-readiness, integrations, roles, user-management).
  • Each destination shows the same data its source card holds, from lib/mock/admin.ts.
  • The mis-prefixed /admin/sla config-gap link now points at the existing /dashboards/admin/sla.
  • Existing routes (/dashboards/admin/sla, /dashboards/admin/settings) untouched; #config-gaps anchor left as-is; no admin clickthrough 404s (Vercel demo preview Ready).

Note

  • The merged copy of investor-update.md on main carries the placeholder Dig deeper links; per the Release flow the links were filled in the working tree post-merge and the sent email has the live PR + changelog URLs.