Skip to content

UI revamp Phase 5a: Home v2 (Origin style), shared page skeleton, light dialogs, Ask fixes - #97

Open
coderconnoisseur wants to merge 18 commits into
ui-revamp/polishfrom
ui-revamp/phase5-pages
Open

coderconnoisseur wants to merge 18 commits into
ui-revamp/polishfrom
ui-revamp/phase5-pages

Conversation

@coderconnoisseur

Copy link
Copy Markdown
Owner

Phase 5a of the inner-app revamp. Stacked on #96. Retarget to refactor once #96 is in.

Spec: docs/superpowers/specs/2026-10-22-ui-revamp-phase5-design.md. Approved mockups are in docs/superpowers/specs/2026-10-22-phase5/. Plan: docs/superpowers/plans/2026-10-22-ui-revamp-phase5.md (Phase 5a is Tasks 1–9; 5b–5e follow as their own PRs).

What changes

  • Shared page skeleton: components/page/ has PageHeader, PageCard and VendorChip. Buttons gain quiet/ink variants. lib/chart.ts adds a monotone smooth line and axis labels that never overlap; it compares real label edges.
  • Home v2, in Origin's style:
    • Hero "Spent in ": the total, the change vs last month by the same day, "heading for ₹X" from the forecast, smooth now/before/forecast lines, bill markers, and + to upload.
    • ", day by day": the amount for each day, today outlined, and bill names on future days, beside Recent transactions.
    • Lumen found: now a list whose links act. "Ask Lumen" opens /ask?draft=…, which types the question in but doesn't send it.
    • Side cards: Budget in shows the top four categories, and Coming up shows the next four bills.
    • No jumping while loading: every card keeps its loading height (measured), and the calendar always reserves room for a six-week month.
  • Upload/Export are quiet buttons, and both dialogs are light. A duplicate close button is gone.
  • Ask:
    • Keep/Delete wait for the answer, focus moves to Keep, and the trash icon shows on touch screens.
    • The palette lives in the app shell, so Ctrl+K works on tablets.
    • An answer for an older chat can't take over the chat on screen.
  • Backend: POST /chat saves the thread and its messages in one commit, and a lost approval race gives a clear 409.
  • Found while testing on real data:
    • Home expected a reminders shape the API never sent. Bills never showed, and the new calendar crashed on it. toReminders now maps the real shape, and the e2e fixtures send it too.
    • Three Spending cards read fields no backend code produces, so they're removed until 5b/5c. /bills lists upcoming bills for now.
    • The e2e dev server shared .next with npm run dev and broke it. It now builds into .next-e2e.

Tests

  • Backend: 979 passed. Eval replays pass.
  • Frontend e2e: 135 passed, 29 of them new. They cover loading-vs-loaded heights per card, ticks at 375 px with "today" pinned near both month edges, light dialogs, a draft that never sends itself, and the late-answer race.
  • Lint and the production build are clean.
  • One whole-branch review on Opus found three Important issues, each fixed test-first (tick edges, 3M/YTD labels, late answer). Minors are logged in the plan ledger and spec §12.

Manual check

  1. Open Home on your seeded account. Compare it with docs/superpowers/specs/2026-10-22-phase5/home.html.
  2. Switch 1W/1M/3M/YTD. The labels never overlap, and 3M/YTD labels name the month.
  3. The hero's + and Upload open the same light dialog. Export is light too.
  4. "Ask Lumen" on a Lumen found row fills Ask without sending.
  5. Narrow the window to phone width. The calendar amounts stay readable.

@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
lumen Ready Ready Preview Oct 22, 2026 7:09am UTC

This branch was successfully deployed

1 active deployment
Preview — 43613a7d Deployed Oct 22, 2026 by vercel[bot]
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