Match /bills UI to site, colocate under app/, fix proxy conflict#24
Merged
Conversation
Restyle the ported /bills shadcn sub-app to the Build Canada brand and colocate its code under the route, plus fix an app-breaking middleware/proxy conflict. UI: retheme the .bills-scope tokens onto the brand linen/charcoal/auburn palette with square corners; replace raw Tailwind color chips (impact, judgement, alignment) with brand tones; swap in the shared PageHeader/Button and type-* typography for CTAs and titles; sweep inline CSS-var utilities to semantic classes and fix a few pre-existing broken class strings. Structure: move all of src/bills/* into src/app/bills/* (git-tracked renames) and rewrite @/bills/* imports to @/app/bills/*, so bills code lives with its routes. Update the globals.css @import and stale path comments. Proxy: Next 16 allows a single proxy entrypoint, but both src/middleware.ts (OAuth session renewal on /memos, /api/auth/me) and src/proxy.ts (dashboard PostHog flag gate) existed, throwing an unhandled rejection that broke all routing. Merge both behaviors into src/proxy.ts (dispatched by path) and remove src/middleware.ts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The icon sat inside its own bordered, filled square (iconWrap) the same size as the icon, which framed the already-circular check/x glyph in an ugly nested box. Drop the icon wrapper and render the icon inline next to the label, keeping only the outer badge border. Co-Authored-By: Claude Opus 4.8 (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.
Summary
Three related changes to the ported
/billssub-app:UI — match the Build Canada brand. The bills section shipped as a stock shadcn/ui app (rounded corners, neutral OKLCH palette, raw Tailwind color chips). This re-themes the scoped
.bills-scopetokens onto the brand linen / charcoal / auburn palette with square corners, replaces off-palette chips (impact, judgement, tenet alignment) with brand tones, swaps in the sharedPageHeader/Buttonandtype-*typography for titles and CTAs, and sweeps inline*-[var(--…)]utilities to semantic classes. Also fixes a few pre-existing broken class strings (text-[) found along the way. Follows the established sub-app theming pattern used by/trackerand/toronto.Structure — colocate bills code under its route. Moves all of
src/bills/*intosrc/app/bills/*(git-tracked renames, history preserved) and rewrites the ~118@/bills/*imports to@/app/bills/*. Updates theglobals.css@importand stale path comments.src/bills/is gone; everything bills-related now lives with the routes.Fix — resolve the middleware/proxy conflict. Next 16 renamed
middleware→proxyand allows only one such file, but bothsrc/middleware.ts(OAuth session renewal on/memos,/api/auth/me) andsrc/proxy.ts(dashboard PostHog flag gate) existed — throwing an unhandled rejection that broke all routing (the "site never loads" spinner). Merges both behaviors into a singlesrc/proxy.ts, dispatched by path, and deletessrc/middleware.ts. No behavior lost.Verification
tsc --noEmit→ 0 source errors;eslint→ no new errors (only pre-existing unused-var warnings)./bills,/bills/[id],/memos,/dashboardall render 200; rendered HTML/CSS confirm brand classes present and old off-palette classes gone; the rest of the site is unaffected (tokens stay scoped to.bills-scope). The merged proxy runs in ~5–43ms.Notes for reviewers
.bills-scopetoken block inbills.css, the chip/judgement components, andsrc/proxy.ts.src/app/bills/types.ts(domain types) and the movedsrc/app/bills/types/folder (ambient.d.ts) coexist intentionally — path imports resolve to the.tsfile.🤖 Generated with Claude Code