refactor(quotes detail): two-column layout with hero Items card

The quote detail page had grown to eight stacked cards, all with
identical Card chrome — Items, Outbound, Linked Orders, Notes, Settings,
History, Email Status, and a TODO 'Generate PDF (coming soon)' card. The
Items card (the page's hero) had the same visual weight as the
admin-panel cards, so the eye had nowhere to land.

Two-column layout on desktop (lg:grid-cols-3, primary 2/3, secondary 1/3):

  Left column (primary)
    - Description card (conditional)
    - Items card — hero treatment:
        * Left primary-blue accent border (border-l-4 border-l-primary)
        * Tinted primary header background (bg-primary/5)
        * Larger title (text-base font-semibold)
        * Rewrite with AI demoted from loud amber pill to outline variant
          (matches the accent trap from MEMORY.md)
    - Notes card (conditional)

  Right column (secondary)
    - Customer meta card — replaces the old 5-card info strip with
      a single compact card: customer name, company, letterhead,
      created date, quote date (if set), and claimed-by with avatar.
    - Outbound attachments card
    - Linked orders card
    - Quote Settings accordion (collapsed by default)
    - History accordion (collapsed by default)
    - Email Status card — tightened to 2-col grid

Mobile (below lg) collapses to single column with content-then-meta
order: Description → Items → Notes → Customer meta → Outbound → Linked
→ Settings → History → Email Status.

The 'Generate PDF (coming soon)' placeholder card is removed — that was
a TODO shipped to users. The actual Generate PDF flow lives in the
'View Quote' menu item (QuotePdfViewer) and the 'Approve' modal, neither
of which need this stub.

Items card header is flex-col on mobile so the title, totals, and
Rewrite button each get their own line instead of getting clipped.

Tests: 229/230 vitest (the 1 failure is the pre-existing attachments
off-by-one, unrelated to this change).
This commit is contained in:
SJCoetz 2026-06-29 22:23:44 +02:00
parent 5c46dfed88
commit 4e085a3f69

File diff suppressed because it is too large Load diff