admin-clickthrough-pagesrun.md01_define/output/spec.mdThe 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.
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.
/dashboards/admin.lib/mock/admin.ts./admin/sla config-gap link points at the existing
/dashboards/admin/sla./dashboards/admin/sla, /dashboards/admin/settings) are
unaffected, and no admin card-level clickthrough 404s.stats-row.tsx,
recent-activity-card.tsx, setup-and-users-chart.tsx) — dead code, not wired.02_build/output/notes.mdfeat: admin-clickthrough-pages — destination pages + wire admin card clickthroughsapps/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 stateDetailPageShell (persona admin, back-link to /dashboards/admin)./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)./dashboards/admin — setup, integrations, users, users/invite,
automations built; all source hrefs repointed.lib/mock/admin.ts./admin/sla config-gap link now points at /dashboards/admin/sla./dashboards/admin/sla, /dashboards/admin/settings) untouched; the
"View gaps" #config-gaps intra-page anchor left as-is; no admin clickthrough 404s.--max-warnings 0; imports were kept tight to satisfy it.recent-activity-card.tsx, setup-and-users-chart.tsx)
still carry old /admin/* hrefs — deliberately left; they are dead code and out of scope.03_release/output/changelog.mdAdmins 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.mdWho 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.md4f8a6d6)/code-review medium.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/{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).apps/help/app/changelog/2026-07-17-admin-clickthrough-pages/page.mdx) + investor draft in this PR./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.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.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).lib/mock/admin.ts./admin/sla config-gap link now points at the existing /dashboards/admin/sla./dashboards/admin/sla, /dashboards/admin/settings) untouched; #config-gaps anchor left as-is; no admin clickthrough 404s (Vercel demo preview Ready).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.