Skip to content

Design pipeline: UX overhaul across all app pages#24

Merged
m4cd4r4 merged 2 commits intomasterfrom
feat/design-pipeline-app-pages
Mar 14, 2026
Merged

Design pipeline: UX overhaul across all app pages#24
m4cd4r4 merged 2 commits intomasterfrom
feat/design-pipeline-app-pages

Conversation

@m4cd4r4
Copy link
Copy Markdown
Owner

@m4cd4r4 m4cd4r4 commented Mar 13, 2026

Summary

Full design critique and remediation pass across all 7 app pages (dashboard, analytics, compare, search, obligations, deals, document detail + graph). This PR addresses every issue flagged by the critique audit.

9 files changed, 563 insertions, 134 deletions

Bug Fixes

  • Search highlightMatch regex stateful lastIndex bug causing alternating match failures
  • Mobile nav active state mismatch (desktop used startsWith, mobile used exact match)
  • Click-outside handlers for compare document picker and export dropdown
  • Modal backdrop dismiss changed to onMouseDown for touch device reliability (deals, BYOK, report)
  • document variable shadowing fix (window.document for DOM access)

Empty States (Delight)

  • Analytics: skeleton preview of stat cards + heatmap grid
  • Compare: side-by-side document skeleton preview
  • Deals: 3-column capability grid with guided CTA
  • Obligations: filtered vs unfiltered empty states with clear-filters action
  • Search: shows failed query, current mode, and mode-switching buttons
  • Graph: dynamic empty state referencing document filename

Visual Improvements

  • Risk level border-l-4 accents on analytics stat cards, risk items, and clause cards
  • Graph page: pinch-to-zoom, single-finger pan, touch node selection, mobile filter chips, bottom sheet
  • Varied motion choreography per page type (scale-up, x-slide, opacity-only vs uniform y:20)
  • Page headers render instantly (removed animation delay)
  • Standardized h1 sizing (text-3xl), empty state padding (p-10 sm:p-14), main content padding

Test plan

  • Build passes (next build compiles successfully)
  • All page headers render instantly without animation delay
  • Search highlight works correctly for all matches (no alternating misses)
  • Mobile nav highlights correct page on sub-routes (e.g. /documents/123)
  • Compare picker closes on outside click
  • Export dropdown closes on outside click
  • Modal backdrops dismiss on touch devices
  • Empty states show contextual content with CTAs on all pages
  • Risk level colors visible via left border on analytics and document detail
  • Graph page responds to touch gestures (pinch zoom, pan, tap node)
  • Motion varies per page (analytics=scale, obligations=x-slide, search=opacity)

🤖 Generated with Claude Code

Full design critique and remediation pass across dashboard, analytics,
compare, search, obligations, deals, document detail, and graph pages.

Bug fixes:
- Fix search highlightMatch regex stateful lastIndex bug
- Fix mobile nav active state mismatch (startsWith vs exact match)
- Add click-outside handlers for compare picker and export dropdown
- Change modal backdrops to onMouseDown for touch device reliability
- Fix document.addEventListener shadowing with window.document

Empty states (delight):
- Analytics: skeleton preview of stat cards + heatmap grid
- Compare: side-by-side document skeleton preview
- Deals: 3-column capability grid with guided CTA
- Obligations: filtered vs unfiltered states with clear-filters action
- Search: shows failed query, mode, and mode-switching buttons
- Graph: dynamic empty state with document filename

Visual improvements:
- Risk level border-l-4 accents on analytics stat cards and clause cards
- Graph page: pinch-to-zoom, touch pan, mobile filter chips, bottom sheet
- Varied motion choreography per page (scale, x-slide, opacity-only)
- Page headers render instantly (no animation delay)
- Standardized h1 sizing, empty state padding, main content padding
- Obligations view button: title -> aria-label

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 13, 2026

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

Project Deployment Actions Updated (UTC)
contractclarity Ready Ready Preview, Comment Mar 13, 2026 11:59pm

Request Review

- Add 21 new tests covering all PR checklist items (instant headers,
  search highlight, mobile nav, compare picker, modal dismiss, empty
  states, risk borders, h1 sizing, motion variation)
- Fix all test files to use port 3001 matching playwright.config.ts
- Update empty state text assertions to match redesigned content
- Fix obligations selector (title -> aria-label)

All 84 chromium + 68 mobile-chrome tests passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@m4cd4r4 m4cd4r4 merged commit f0060e4 into master Mar 14, 2026
3 checks 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