rubyforgood / rubyforgood/awbw

Approximate all DomainTheme colors to the brand guide palette

Open
#2,291 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement stakeholder-question
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 *-50 hues.
  • Fix the Stories drift: app/views/home/_stories.html.erb is hardcoded bg-rose-50, but Stories' DomainTheme color is fuchsia — so it's neither tokenized nor brand-aligned. (Confirmed still hardcoded on main.)
2. Profile page hues (people & organizations)
  • People → cyan, Organizations → emerald today; 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.rb COLORS maps ~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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.