Skip to content

feat: apply diff review design to homepage and public pages - #3

Open
daniel-tsx wants to merge 1 commit into
mainfrom
feat/diff-review-redesign
Open

daniel-tsx wants to merge 1 commit into
mainfrom
feat/diff-review-redesign

Conversation

@daniel-tsx

Copy link
Copy Markdown
Owner

What and why

Replace the homepage with the "diff review" design (chosen from six design-lab explorations) and apply the same language to every public page, so StackPulse reads like a pull request: file cards, +/- lines, review comments on risky releases and a merge-box call to action. The design lab itself was temporary and is not part of this branch.

Review guide

  • Read carefully:
    • src/app/page.tsx: rebuilt homepage. The session redirect, instant = false, JSON-LD and FAQ schema are carried over unchanged; live stats (getLandingStats) now render as CI-style checks, with a no-numbers fallback when stats are unavailable. Release rows in the hero review are illustrative and labelled example.
    • src/components/review/review-ui.tsx and src/components/site/*: the new shared building blocks (PageIntro, FileCard, DiffLine, ReviewComment, MergeBox, Checks, StatGrid, CardNote, CenteredShell, SiteHeader, SiteFooter). File-card headers stick under the site header via overflow-clip.
    • T2-area files, markup and copy only: src/app/(auth)/sign-in/page.tsx (sign-in handler, safeReturnPath and the error state are unchanged), src/app/digest/unsubscribe/page.tsx (form action={unsubscribeFromDigest} and hidden token input unchanged, only re-indented) and src/components/landing/digest-signup-form.tsx (submit, honeypot and subscribeToDigest call unchanged; adds a label htmlFor, aria-describedby, role="status" and a framed prop).
  • Skim: stacks, release, upgrade planner, skills, status, legal, 404, error and loading pages now compose the shared pieces; data fetching, metadata and JSON-LD in those files are unchanged. globals.css adds two hero keyframes and changes the legal h2 prefix. docs/DESIGN_SYSTEM.md documents the new language.
  • Least confident about: the sticky file-card headers inside long release lists, and Safari support for overflow: clip (Safari 16+). The signed-in app (dashboard, onboarding, settings) intentionally keeps the old window-chrome style, so public and app pages now differ.
  • Tests removed, weakened or skipped: none. tests/release-votes.test.mjs gains three module mocks for the release page's new imports; no assertions changed.
  • Removed: src/components/stack-pulse-hero.tsx (no remaining users). motion stays, since ui/animated-beam.tsx still imports it.

Task size

T2 by file area (the review-signals guard flags sign-in/page.tsx and digest/unsubscribe/page.tsx). The change itself is UI only. No AGENTS.md invariant is affected: auth stays GitHub-only with safeReturnPath, the digest and unsubscribe server actions are unchanged, and there is no schema, cron or provider change.

Checks

Result Command Scope / notes
PASS pnpm lint whole repo
PASS pnpm typecheck TS 7 tsc --noEmit
PASS pnpm test 269 tests: 250 pass, 0 fail, 19 skipped (env-gated database cases)
PASS pnpm test:votes 20 tests: 15 pass, 5 skipped (database env gate)
PASS git diff --check whitespace
PASS node scripts/check-migration-history.mjs origin/main HEAD no migrations touched
PASS node scripts/check-pr-review-signals.mjs origin/main HEAD flags 2 T2-area files (see above)
PASS Browser, pnpm dev + agent-browser 14 public routes at 1440, 375 and 320 px: no horizontal overflow, no page errors; light theme (home, stack, sign-in) and reduced motion (home) checked
NOT RUN pnpm build prerendering queries the .env database; no isolated database was available
NOT RUN database suites (VOTE_TEST_DATABASE_URL, SKILL_TEST_*) no SQL or persistence change
NOT RUN hosted CI runs on this PR

Unverified boundaries

  • Production build and prerendering (pnpm build not run).
  • Browser checks loaded pages against the database configured in .env (read-only page views: no form submits, votes or sign-in). There was no isolated data.
  • GitHub OAuth sign-in flow end to end, and the digest signup and unsubscribe submissions (presentation-only changes; not submitted).
  • Safari and Firefox rendering (checked in Chromium only).

Review

  • Self-review of the diff: confirmed that no logic lines changed in the sign-in, digest form or unsubscribe files.
  • Independent review (codex-review): NOT RUN yet. AGENTS.md requires one for T2-area files before merge.
  • /security-review: NOT RUN. No auth behavior changed, but the sign-in page file is in an auth area.

Docs and temporary files

  • Updated docs/DESIGN_SYSTEM.md (visual identity, layout patterns, motion, shared components, copy voice, page templates, checklist).
  • .tmp/diff-review-redesign/ (git-ignored) keeps the verification screenshots, scripts and this description until merge or rejection.
  • Architecture decision records: none applies.

🤖 Generated with Claude Code

Rebuild the homepage as a pull-request style review: a diff hero, live
stats as CI-style checks, a files-changed sidebar, review comments on
example releases, FAQ threads and a merge box with the digest form.
Session redirect, JSON-LD and FAQ schema are unchanged.

Add shared public building blocks (SiteHeader, SiteFooter, PageIntro,
FileCard, DiffLine, ReviewComment, MergeBox, Checks, StatGrid,
CenteredShell) and move stacks, release, upgrade planner, skills,
status, legal, sign-in, 404, error and unsubscribe pages onto them.
Auth, vote, digest and unsubscribe logic is untouched; those files
change markup and copy only.

Remove the unused StackPulseHero, document the new language in
DESIGN_SYSTEM.md and mock the new imports in the release page test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
stack-pulse Ready Ready Preview Oct 29, 2026 1:32pm UTC

Request Review

@github-actions github-actions Bot added the t2-area Touches a T2 area: read carefully label Oct 29, 2026

This branch was successfully deployed

1 active deployment
Preview — 03f9e3bc Deployed Oct 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t2-area Touches a T2 area: read carefully

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant