UI redesign: condensed-sans ledger style with logo in the zero hero #18

Merged
claude-code merged 6 commits from feat/17-condensed-sans-redesign into main 2026-04-17 17:04:55 -06:00

6 commits

Author SHA1 Message Date
archeious
761336c71d docs: keep design mockups alongside the shipped UI
Three iterations captured under docs/mockups/ with shared logo
assets:

* month-editorial-ledger.html — first pass, loose spacing, Fraunces
  serif throughout, no logo.
* month-editorial-ledger-dense.html — tightened spacing, logo
  integrated as masthead and behind the zero widget.
* month-condensed-sans.html — the shipped direction. Logo in the
  zero hero, Barlow Condensed everywhere, masthead dropped.

These give a paper trail for why the app looks the way it does and
a sandbox for future typographic experiments without touching the
live CSS.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:58:22 -06:00
archeious
3fa5887d3f test: update selector expecting the retired zero-widget-pair class
The condensed-sans redesign unifies budget and month zero widgets
into a single class; the pair variant is distinguished by column
count, not class. Assertion now checks that the month page still
renders both Applied and Planned labels alongside the zero widget
id.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:58:18 -06:00
archeious
eb689cd9a1 feat(ui): pretty_year_month helper, render month names in titles
pretty_year_month('2026-04') -> 'April 2026' for display. The
templates fall back to the raw year_month slug when the helper
returns nothing. Used by month.html and month_create.html to give
the nav a broadsheet feel; the URL routes still use the YYYY-MM
slug everywhere.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:58:14 -06:00
archeious
59ccb4db3c feat(ui): page templates for the new layout, logo in the zero hero
Rebuild index.html, month.html, month_create.html, and every partial
against the new stylesheet:

* Drop the old Quartermaster / Household budget header block.
* Zero hero carries the logo on the left column with flanking
  Applied / Planned on the month page, and a Budget / Planning-for
  split on the budget page. Colophon tagline at the foot of every
  page.
* month_nav switches to a single horizontal line: prev / title /
  next / state badge / lifecycle button, with the month picker
  wrapping below when present.
* Entry rows render through the new table.entries grid (name,
  planned, applied, actions) with the notes row tucked underneath
  and hidden when empty via :has(input:placeholder-shown).
* Primary Debt Target card uses the target-section styling with the
  burgundy left bar.
* Back to Budget / Back to Configuration link justified right under
  each month nav.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:58:11 -06:00
archeious
368a4d0741 feat(ui): condensed-sans ledger CSS and Barlow Condensed typography
Swap the old minimal stylesheet for a comprehensive condensed-sans
ledger system:

* Barlow Condensed everywhere (300-800 + italic), via Google Fonts;
  Barlow proportional as a secondary pair. No more system-ui stack.
* Warm cream paper background with layered radial gradients for
  depth. Ink is warm near-black; accent is the logo burgundy
  #732629 sampled directly from the shield.
* Tabular lining figures for every numeric column.
* <details> groups with a hairline chevron rotating on [open].
* Dense entry rows with a 2px progress bar riding the row's bottom
  border. State colours by deviation: sage at-plan, ochre under,
  accent over, indigo new-in-month.
* Primary Debt Target card with a burgundy left bar and margin
  glyph so it reads as a hint pointing inward.
* State badges inline as tracked-caps labels with bullet separators
  (planning indigo, active sage, closed muted italic).
* Favicon wired to the shield mark.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:58:03 -06:00
archeious
4ba4a1ba18 chore(brand): add cleaned logo assets and gitignore source files
logo.png at the repo root is a working 4.8MB source; optimised
variants used by the running app live in src/quartermaster/static/brand/
(full mark, mark-wide without wordmark, shield-wide for favicon).
Background checkerboard was masked out of all three so they sit on
any page colour. Gitignore the root source and WSL Zone.Identifier
sidecars.

Refs #17

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 16:57:51 -06:00