rubyforgood / rubyforgood/awbw
Approximate all DomainTheme colors to the brand guide palette
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 15
- Forks
- 26
- Avg merge
- 12h 42m
- Merged PRs (30d)
- 242
Description
🤖 From Claude:
Summary
Finish the brand-guide color reconciliation by mapping the app's per-domain palette — and the landing/profile surfaces themed off it — to the official AWBW brand colors. The global brand tokens are already aligned (primary blue #24479E, accent orange #D56027); what remains is the DomainTheme palette and the pages that use it, which still lean on generic Tailwind hues (cyan, emerald, indigo, rose, …) unrelated to the brand.
Scope
1. Landing page section tints
- Rotate the six home-section backgrounds through the brand background trio (
#E7F0C6/#FFEFC7/#FFDDCF) instead of ad-hoc*-50hues. - Fix the Stories drift:
app/views/home/_stories.html.erbis hardcodedbg-rose-50, but Stories'DomainThemecolor isfuchsia— so it's neither tokenized nor brand-aligned. (Confirmed still hardcoded onmain.)
2. Profile page hues (people & organizations)
- People →
cyan, Organizations →emeraldtoday; remap to brand-approximated hues. - Warm the white card shells; point the contact-row links at brand blue.
3. The underlying DomainTheme palette
lib/domain_theme.rbCOLORSmaps ~40 domain keys to named Tailwind colors. Approximate each to the nearest brand-guide color so badges, cards, and index pages read as one brand family.
Decision required first
DomainTheme maps to named Tailwind palette colors (:cyan, :emerald), not arbitrary hex. To hit the exact brand hexes we must either:
- (a) accept the nearest Tailwind hue per brand color, or
- (b) extend the theme to emit custom
--color-*brand tokens (and safelist them).
Pick one before implementing — it changes the whole approach.
⚠️ Requires coordination with AWBW staff
The brand guide has 6 primary + 8 complimentary colors; the app has ~40 domain keys. Deciding which domain maps to which brand color is a brand/design call, not a mechanical one — arbitrary assignments risk clashes and off-brand pairings. AWBW staff should sign off on the domain→color mapping (and the hex-vs-palette decision above) before this ships.
Done already (context)
- #2282 — primary blue token
- #2290 — accent orange token
- #2285 — hardcoded-blue buttons → primary
- #2283 / #2286 — route hardcoded domain colors through DomainTheme
- #2287 — cream page background (open)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with lib/domain_theme.rb and app/views/home/_stories.html.erb, then inspect the landing and profile surfaces that consume DomainTheme. Resolve the Tailwind-palette versus custom-token decision and obtain staff approval for the domain-to-color mapping; the work is done when the palette and those surfaces consistently use the approved brand colors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, tailwindcss
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100