Dress /bills in the house style - #89
Merged
Merged
Conversation
The bills index was a shadcn island: rounded cards floating on the linen canvas, a boxed filter sidebar, and type that ignored the brand scale. It read as a different product from /memos or /tracker. Rebuild the page out of the same parts every other index uses — the bordered page frame, the shared PageHeader, hairline-ruled sections on a 1080px measure — and give the two data-heavy regions a real surface: white panels on the linen ground, the way /tracker already does it, so the page is not beige on beige. The filter sidebar drops shadcn Card/Input/Checkbox/Select for house markup: square appearance-none checkboxes, type-label group headings in <details> disclosures reusing the site's answer-reveal transition, and a native select. Its props are unchanged. The five primitives that left behind no other caller are deleted. PageHeader grows an optional `action` slot so the FAQ trigger can sit beside the title; existing callers are untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bills index was a shadcn island — rounded cards floating on the linen canvas, a boxed filter sidebar, type that ignored the brand scale. It read as a different product from
/memosor/tracker. This rebuilds it out of the parts every other index page uses.Layout
mx-[10px] my-[10px] border) and the sharedPageHeader, matching/memos,/posts,/polls.<Markdown>{getParliament45Header()}</Markdown>— that helper returnsundefined.Surfaces
White panels on the linen ground, the way
/trackeralready does it, so the page isn't beige on beige.gap-3between; border darkens to charcoal on hover, fill lifts to linen-50.Filter sidebar
Rewritten in house markup instead of shadcn
Card/Input/Checkbox/Select: squareappearance-nonecheckboxes,type-labelgroup headings in<details>disclosures reusing the site'sanswer-revealtransition, the memos-style search box, and a native styled select. Props and theFilterState/FilterOptionscontract are unchanged.Cards and type
Bill C-12 · Sponsoreyebrow,type-h4title going auburn on hover, square mono tags in place of the coloured pills, a "Read the analysis" footer.Judgementpill now usestype-label/type-label-sm. This also reaches the bill detail page, where it reads more consistently.Housekeeping
PageHeadergrows an optionalactionslot so the FAQ trigger can sit beside the title. Additive; existing callers untouched.bills/components/ui/{badge,checkbox,input,label,select}.tsx— no remaining callers once the filter panel stopped using them.Testing
tsc --noEmitandnpm run lintare clean (4 pre-existing warnings, 0 errors)./billsand/bills/C-12both return 200 against the local dev server.Not verified visually. No browser was available in the session — the Chrome extension wasn't connected and there's no Chromium binary on the machine — so this needs an eyeball at desktop and mobile width before merge.
Follow-up
The detail page (
/bills/[id]) is still the old baremax-w-[1100px]layout with shadcnCards, so it now looks a step behind the index. Left out of scope.🤖 Generated with Claude Code