Full audit of every color in the codebase, mapped to constants/theme.ts tokens. Brand tiles included as a reference. Rogue hardcoded values flagged for cleanup.
| Color | Count | File(s) | Replace With | Action |
|---|---|---|---|---|
#201F1E |
34× | votd.tsx, VoteCard, verify-otp, address-setup, feed, onboarding + 6 more | Import NEAR_BLACK — old value before hue realignment |
Replace |
#C0BCB8 |
12× | index.tsx, profile.tsx, votd.tsx | MID_GREY — replaced (L69%, dist 21→4) |
✓ Done |
#B5AFA9 |
8× | votd.tsx, VoteCard, profile.tsx | MID_GREY — replaced (L69%, dist 18→7) |
✓ Done |
#C7B8AB |
6× | votd.tsx, index.tsx, vote-item.tsx | MID_GREY — replaced (L69%, dist 23→6) |
✓ Done |
#B0AAA4 |
4× | FeedbackWidget.tsx | MID_GREY — replaced (L69%, dist 49→11) |
✓ Done |
#9A908A |
3× | index.tsx, votd.tsx, profile.tsx | WARM_MID_GREY — dist 9 |
Replace |
#8A8480 |
1× | FeedbackWidget.tsx | WARM_MID_GREY — dist 11 |
Replace |
#C8B8A8 |
1× | votd.tsx | MID_GREY — replaced (L69%, dist 25→8) |
✓ Done |
#C0B8B0 |
1× | onboarding.tsx | MID_GREY — replaced (L69%, dist 25→8) |
✓ Done |
#B0A89E |
1× | profile.tsx | MID_GREY — replaced (L69%, dist 53→18) |
✓ Done |
#B8A898 |
1× | ProposeVoteModal.tsx | MID_GREY — replaced (L69%, dist 52→16) |
✓ Done |
#C0392B + #D93B3B + #D93025 |
17× | VoteCard, verify-otp, profile, address-setup, ProposeVoteModal, FeedbackWidget, my-votes | Added ERROR_RED, ERROR_RED_DARK, ERROR_RED_TINT, ERROR_RED_MID, ERROR_RED_STRONG — all instances replaced across 8 files |
✓ Done |
#5A9E6F |
1× | profile.tsx | Add SUCCESS token |
Add token |
#4A90D9 |
1× | profile.tsx | Add VERIFIED token |
Add token |
#1A6FB0 |
1× | FeedbackWidget.tsx | Add FEEDBACK_URGENT token |
Add token |
#E6920A + #E8860A |
3× | profile.tsx, FeedbackWidget.tsx | Consolidate with AMBER or add BADGE_PENDING |
Review |
#E8873A |
2× | vote-item.tsx, votd.tsx | ORANGE or AMBER — check context |
Review |
#E0782D |
4× | VOTDOverlayCard.tsx, VOTDOverlayCard.pre-duotone.tsx | Close to ORANGE — review overlay card context |
Review |
#D0703E + #B54819 |
2× | SharePoster.tsx | ORANGE_DARK / PEACH_DARK |
Replace |
#16A085–#7B5EA7 (16 values) |
~80× | vote-item.tsx, VOTDOverlayCard.tsx, VOTDOverlayCard.no-scroll.tsx, VOTDOverlayCard.pre-duotone.tsx | Extract to lib/topicColors.ts — single map, imported by all four files |
Add token |
#7A7370 |
2× | votd.tsx | Between GRAY and WARM_MID_GREY — review context | Review |
#3D2040 |
1× | votd.tsx | Darker than PURPLE_DARK — collapse or add PURPLE_DEEP |
Review |
#F7D0B4 |
2× | votd.tsx | PEACH_LIGHT exact match — import the token |
Replace |
#D6E8F5 |
1× | vote-item.tsx | Pale blue — not in brand palette. Intentional or stray? | Review |
#FFD700 |
1× | onboarding.tsx | Gold/star color — not in brand palette. Review. | Review |
#0A7EA4 |
1× | themed-text.tsx | Teal link color — not in brand palette. Add token or replace? | Review |
#201F1ENEAR_BLACK (old) |
34× | votd.tsx, votd.legacy.tsx, onboarding.tsx, and others | Replaced with updated NEAR_BLACK (#231D1A) ✓ Done |
|
#5D554DDARK_GREY (old) |
7× | votd.tsx, votd.legacy.tsx, profile.tsx | Replaced with DARK_GREY ✓ Done |
|
#605E5CGRAY (old) |
9× | votd.tsx, votd.legacy.tsx, feed.tsx | Replaced with GRAY ✓ Done |
|
#95877CWARM_MID_GREY (old) |
17× | votd.tsx, votd.legacy.tsx, vote-item.tsx | Replaced with WARM_MID_GREY ✓ Done |
|
#D0C8BFTALLY_NO (near) |
1× | votd.tsx | Replaced with TALLY_NO ✓ Done |
|
#D2C7BDTALLY_NO (old) |
1× | votd.tsx | Replaced with TALLY_NO ✓ Done |
|
#E8E0D8STONE (near) |
1× | votd.tsx | Replaced with STONE ✓ Done |
|
#EBE0D3BEIGE (near) |
2× | votd.tsx, votd.legacy.tsx | Replaced with BEIGE ✓ Done |
|
#E3D8CBBEIGE (near) |
1× | votd.legacy.tsx | Replaced with BEIGE ✓ Done |
|
#EDEBE9WARM_GREY (old) |
3× | votd.tsx | Replaced with WARM_GREY ✓ Done |
|
#F0EDEAWARM_GREY (near) |
1× | votd.tsx | Replaced with WARM_GREY ✓ Done |
|
#E8F5E9WARM_GREY (near) |
1× | votd.legacy.tsx | Replaced with WARM_GREY ✓ Done |
|
#FAF9F8OFF_WHITE (old) |
2× | votd.tsx | Replaced with OFF_WHITE ✓ Done |
|
#FFF8F2OFF_WHITE (near) |
1× | votd.legacy.tsx | Replaced with OFF_WHITE ✓ Done |
|
#D4C4ADTALLY_NO (near) |
3× | votd.legacy.tsx | Replaced with TALLY_NO ✓ Done |
|
#5C415DPURPLE_DARK |
32× | votd.tsx, votd.legacy.tsx | Replaced with PURPLE_DARK (incl. SVG stroke/fill attributes) ✓ Done |
|
rgba(153,111,154,0.13)BREAKER_BG |
~4× | votd.tsx | Replaced with BREAKER_BG ✓ Done |
|
rgba(92,65,93,0.18)BREAKER_TINT |
~4× | votd.tsx | Replaced with BREAKER_TINT ✓ Done |
|
rgba(92,65,93,0.1)BREAKER_FILL_LIGHT |
~3× | votd.tsx | Replaced with BREAKER_FILL_LIGHT ✓ Done |
|
rgba(92,65,93,0.3)BREAKER_STROKE |
~4× | votd.tsx | Replaced with BREAKER_STROKE ✓ Done |
|
rgba(153,111,154,0.5)BREAKER_MARKER |
~3× | votd.tsx | Replaced with BREAKER_MARKER ✓ Done |
|
rgba(92,65,93,0.5)BREAKER_TEXT |
~3× | votd.tsx | Replaced with BREAKER_TEXT ✓ Done |
|
#FF9B21AMBER |
4× | votd.legacy.tsx | Replaced with AMBER ✓ Done |
|
#E6E0DBSTONE (old) |
~3× | multiple files | Replaced with STONE ✓ Done |
|
#F7D0B4PEACH_LIGHT |
1× | onboarding.tsx | Exact match — replaced with PEACH_LIGHT ✓ Done |
#EDEBE9, #F0EDEA, #F0EAE3, #E8E0D8, #E8E4E0, #C8B8A8, #C7B8AB, #D0C8BF, #B0A89E. All should collapse to BEIGE, WARM_GREY, TALLY_NO, or the new LOCKED_CARD token during the rogue sweep.