Skip to content

fix(colors): Replace hardcoded colors with theme tokens#6040

Open
dan-rukas wants to merge 14 commits into
OHIF:masterfrom
dan-rukas:fix/hardcoded-colors
Open

fix(colors): Replace hardcoded colors with theme tokens#6040
dan-rukas wants to merge 14 commits into
OHIF:masterfrom
dan-rukas:fix/hardcoded-colors

Conversation

@dan-rukas

@dan-rukas dan-rukas commented May 26, 2026

Copy link
Copy Markdown
Member

Context

Replaces hardcoded hex color values across CSS files, icon SVGs, and usage sites so the UI responds to theme changes. Previously, ~40 hex values were frozen to the default OHIF dark palette regardless of any theme override.

32 files changed — 126 insertions, 129 deletions.

  • 6 CSS/component files: hardcoded hex → CSS variable tokens
  • 19 icon SVG files: hardcoded hex → currentColor, hsl(var(--accent)), or transparent
  • 7 usage-site files: explicit color classes added where parent inheritance wasn't sufficient

Changes & Results

CSS / Component Changes (6 files)

LayoutSelector.tsx — Grid cell unhovered state

  • bg-[#04225b]bg-accent

Onboarding.css — Shepherd.js onboarding buttons

  • !bg-[#348cfd]!bg-primary
  • !text-[#348cfd]!text-primary

styles.css — Custom scrollbar

  • scrollbar-color: #173239hsl(var(--neutral) / 0.5) (matches ScrollArea and ImageScrollbar convention)
  • Removed 2× background-color: #041c4a that overrode existing @apply bg-popover on webkit scrollbar thumb

ProgressLoadingBar.css — Loading bar track

  • background-color: #091731hsl(var(--muted))

DicomTagBrowser.css — DICOM tag table

  • color: #ffffffhsl(var(--foreground))
  • Removed border-top: 1px solid #ddd (cleaner without row separators)
  • Removed color: '#20A5D6' (quoted hex was invalid CSS — never applied)

colorPickerDialog.css — Segmentation color picker

  • background: #090c29transparent (inherits from parent dialog)
  • Added box-shadow: none to remove react-color's default drop shadow

Icon SVG Changes (19 files)

A. Single-color → currentColor (9 files, 10 icons)

One hex color per icon replaced with currentColor. Icons now inherit parent text color.

File Old New
AlertOutline.tsx stroke="#5ACCE6" currentColor
ContentNext.tsx fill="#FFFFFF" currentColor
ContentPrev.tsx fill="#FFFFFF" currentColor
IconTransferring.tsx stroke="#5ACCE6" currentColor
IllustrationNotFound.tsx stroke="#358CFD" ×11 currentColor
Plus.tsx stroke="#348CFD" currentColor
Search.tsx stroke="#348CFD" currentColor
Show.tsx stroke="#348CFD" ×5 currentColor
SocialGithub.tsx fill="#FFFFFF" currentColor
Upload.tsx stroke="#348CFD" currentColor
B. Two-tone → currentColor + contrast marks stay (5 files)

Theme-colored shape becomes currentColor. Internal contrast marks (#FFF, #000) stay hardcoded — they provide the visual detail against the colored background.

File Theme color replaced Contrast kept
Alert.tsx fill="#B70D11"currentColor stroke="#FFF" (exclamation mark)
NotificationInfo.tsx fill="#0944B3"currentColor stroke="#FFF" (info symbol)
NotificationWarning.tsx fill="#F3DC43" + stroke="#F3DC43"currentColor stroke="#000" (exclamation)
StatusTracking.tsx stroke="#5ACCE6" + fill="#5ACCE6"currentColor stroke="#000" (checkmark)
LoadingSpinner.tsx fill="#348CFD" (ring, 25% opacity) + fill="#5ACCE6" (arc) → both currentColor

LoadingSpinner also fixes a minor issue: destructures className from props to avoid undefined in the className template string.

C. Layout thumbnails → hsl(var(--accent)) (1 file, 4 icons)

Active pane fill in layout selector thumbnails. Uses --accent CSS variable directly as an SVG fill attribute.

Icon in Layout.tsx Change
LayoutAdvanced3DFourUp fill="#263A71"fill="hsl(var(--accent))"
LayoutAdvanced3DMain fill="#263A71"fill="hsl(var(--accent))"
LayoutAdvanced3DOnly Moved fill from <g> to child <rect>, → fill="hsl(var(--accent))"
LayoutAdvanced3DPrimary fill="#263A71"fill="hsl(var(--accent))"

Why hsl(var(--accent)) instead of currentColor: these thumbnails have both outlined panes (stroke) and one filled pane (the active/highlighted one). currentColor would make the filled pane match the stroke color. The accent token gives it a distinct highlight that tracks the theme.

D. Status badge dark fills → transparent (3 files)

Status badges had fill="#0D0E24" (near-black) as a background fill inside their ring — the old dark theme color baked into the icon. Replaced with transparent so the badge becomes a ring-only indicator that works on any background.

File Changes
StatusAlert.tsx fill="#0D0E24"transparent, stroke="#7BB2CE"currentColor
StatusLocked.tsx fill="#0D0E24"transparent, stroke="#7BB2CE"currentColor
StatusUntracked.tsx fill="#0D0E24"transparent (stroke was already currentColor)
E. Tools gear → hsl(var(--primary)) (1 file, 2 icons)

The gear icon on ToolLayout and ToolLayoutDefault uses --primary to stay visually distinct from the grid lines in the same icon.

Icon in Tools.tsx Change
ToolLayout gear (line 79) stroke="#348CFD"stroke="hsl(var(--primary))"
ToolLayoutDefault gear (line 1828) stroke="#348CFD"stroke="hsl(var(--primary))"
F. Helpers → hsl(var(--accent)) + currentColor (1 file, 3 icons)

Segmentation helper icons (HelperCombineSubtract, HelperCombineIntersect, HelperCombineAdd) had three types of hardcoded color:

Old New Count
fill="#1A3F7E" (overlap region) fill="hsl(var(--accent))" ×3
stroke="white" (dashed borders) stroke="currentColor" all strokes
fill="white" (labels) fill="currentColor" all label fills

Usage-Site Updates (7 files)

Most icons inherit appropriate color from their parent context. These sites needed explicit color classes because the parent doesn't provide the right color.

File Icon Class added Reason
TrackingStatus.tsx StatusTracking text-highlight Tracked status indicator (cyan)
DataSourceConfigurationModalComponent.tsx status-tracked (ByName) text-highlight Data source tracked indicator
DicomUploadProgressItem.tsx icon-transferring (ByName) text-highlight Upload in-progress state
DicomUploadProgressItem.tsx icon-alert-small (ByName) text-destructive Upload failed state
DicomUploadProgressItem.tsx icon-alert-outline (ByName) text-highlight Upload cancelled state
NotFound.tsx IllustrationNotFound text-primary on parent div 404 page illustration
Sonner.tsx LoadingSpinner text-highlight Toast loading state
Sonner.tsx StatusError text-destructive Toast error state

Not Changed (intentional)

Legacy-only icons — reverted to hardcoded (components being replaced):

  • CheckBoxChecked, CheckBoxUnChecked — only used in platform/ui/Select.tsx
  • LaunchArrow, LaunchInfo — only used in WorkList (being replaced with new Study List)
  • Magnifier — only used in platform/ui/EmptyStudies.tsx

These were converted then explicitly reverted because their only consumers are legacy platform/ui components that are being phased out. Converting the icons without updating those legacy consumers would break their appearance.

Icons already correct (no changes needed):

  • Cancel.tsx, Clear.tsx — already use currentColor

Intentionally hardcoded (brand/regulatory marks):

  • OHIFLogo, OHIFLogoColorDarkBackground, LoadingOHIFMark — brand logos (now included)
  • InvestigationalUse — regulatory badge (now included)
  • StatusWarning — semantic warning yellow
  • IconColorLUT — LUT visualization colors

Deferred (separate scope):

  • LineChart / D3 components — requires design review of chart color interaction with D3.js
  • WindowLevel / WindowLevelHistogram — histogram fill/line default props
  • BackgroundColorSelect — hex values are functional data (viewport background presets), not styling
  • DicomMicroscopyViewport — OpenLayers CSS custom properties and legacy Less variables (third-party theming)

Testing

CSS / Component Tests

  • LayoutSelector — Toolbar → Layout → verify grid cell unhovered/hovered contrast
  • Onboarding — Clear localStorage.removeItem('shownTours'), refresh, open study → verify button colors
  • Scrollbar — DICOM Tag Browser → scroll tag list → verify thumb color
  • ProgressLoadingBar — Navigate to study or /local import → verify track color
  • DicomTagBrowser — Open tag browser → verify row text color, no row borders, headers unchanged
  • colorPickerDialog — Segmentation → segment menu → "Change Color" → verify transparent background, no shadow

Icon Tests

  • Single-color icons — Plus, Search, Upload, Show render in parent text color
  • Content navigation — ContentNext/ContentPrev chevrons visible in AllInOneMenu
  • Tools gear — Toolbar layout button gear is primary-colored, distinct from grid lines
  • Layout selector — Layout popover → 3D presets → active pane uses accent color
  • Status badges — StatusTracking (cyan via text-highlight), StatusAlert/Locked/Untracked rings visible, interiors transparent
  • Loading spinner — Toast loading state → monochrome spinner visible and animating, no className error
  • Notifications — NotificationInfo/Warning → circle + internal mark contrast in toasts
  • Alert icon — DicomUpload failed state → red via text-destructive
  • Helpers — Segmentation combine operations → overlap region accent-colored, labels/borders in text color
  • IllustrationNotFound — Navigate to /nonexistent → 404 illustration in primary blue
  • Upload progress — DicomUpload states: transferring (cyan), failed (red), cancelled (cyan)

Regression

  • Default dark theme — No visual regression with default OHIF colors
  • Theme presets — If appearance dialog is available, all converted icons/components follow the active theme
  • WorkList — LaunchArrow/LaunchInfo unchanged (still hardcoded, still work with text-black parent)
  • Reverted icons — CheckBoxChecked/Unchecked in legacy Select, Magnifier in EmptyStudies render correctly

Checklist

PR

  • My Pull Request title is descriptive, accurate and follows the
    semantic-release format and guidelines.

Code

  • My code has been well-documented (function documentation, inline comments,
    etc.)

Public Documentation Updates

  • [] The documentation page has been updated as necessary for any public API
    additions or removals.

Tested Environment

  • OS: macOS Sequoia 15.7.4 (24G517), Apple M4 Pro
  • Node version: 20.19.1
  • Browser: Chrome (latest) 148.0.7778.179 (Official Build) (arm64)

Summary by CodeRabbit

  • Style
    • Icons now inherit theme colors (use currentColor / CSS variables) for consistent theming.
    • Status icons refined: in-progress/cancelled use highlight color; failures use destructive color for clearer feedback.
    • Visual polish: scrollbar, loading bar, onboarding buttons, modal/tracking indicators, layout accents, NotFound spacing, DICOM tag/browser, and various icon/toolbar colors updated for improved visual consistency.

Greptile Summary

This PR replaces hardcoded hex colors across ~40 files (CSS, SVG icons, and React components) with CSS variable tokens so the UI responds to theme changes. The approach is systematic: single-color icons use currentColor, accent-filled shapes use hsl(var(--accent)), and usage sites add explicit text-* classes where parent inheritance is insufficient.

  • CSS files (scrollbar, loading bar, onboarding, DICOM tag browser, color picker) have their hardcoded hex values replaced with theme tokens.
  • 19 icon SVG files are converted using three strategies: currentColor for single-color icons, hsl(var(--accent/primary)) for accent fills that must stay distinct from stroke color, and transparent for status badge ring backgrounds.
  • LoadingSpinner also fixes a latent bug where spreading {...props} onto the SVG element overrode the computed className containing the animation classes.

Confidence Score: 4/5

Safe to merge after confirming the OHIFLogoHorizontal and InvestigationalUse changes are intentional — both files are listed in the PR as not changed but are changed in the diff, and they carry brand/regulatory significance.

The bulk of the change is straightforward and low-risk: replacing hardcoded hex values with CSS variable tokens. Two files stand out: OHIFLogoHorizontal and InvestigationalUse are both explicitly described as intentionally hardcoded in the PR description, yet both have their colors converted to theme tokens in the actual diff. OHIFLogoHorizontal's text turning dark on a light theme could make the logo illegible; InvestigationalUse is a regulatory disclaimer badge where legibility requirements may demand stable, high-contrast colors.

platform/ui-next/src/components/Icons/Sources/OHIFLogoHorizontal.tsx and platform/ui-next/src/components/Icons/Sources/InvestigationalUse.tsx — both are listed as intentionally unchanged in the PR description but have been converted in the diff.

Important Files Changed

Filename Overview
platform/ui-next/src/components/Icons/Sources/OHIFLogoHorizontal.tsx All text path fills changed from white to hsl(var(--foreground)) and OHIF grid icon fills from #358CFD to hsl(var(--primary)); the PR description lists OHIF logos as intentionally hardcoded brand marks but this file is changed anyway.
platform/ui-next/src/components/Icons/Sources/InvestigationalUse.tsx Changed from hardcoded colors to theme tokens; PR description lists it as intentionally hardcoded for regulatory reasons, creating a discrepancy.
platform/ui-next/src/components/Icons/Sources/LoadingSpinner.tsx Destructures className from props and uses nullish coalescing, fixing a bug where spreading {...props} would clobber the animate-spin class when className was undefined.
platform/ui-next/src/components/Icons/Sources/Helpers.tsx All three helper icons converted: overlap fill #1A3F7Ehsl(var(--accent)), all white strokes/fills → currentColor; consistent and complete.
platform/ui-next/src/components/Icons/Sources/Layout.tsx Four 3D-layout thumbnail icons: active pane fill #263A71hsl(var(--accent)); fill correctly moved from <g> to child <rect> in LayoutAdvanced3DOnly.
platform/ui-next/src/components/Sonner/Sonner.tsx LoadingSpinner and StatusError now carry explicit text-highlight and text-destructive classes to ensure correct colors.
platform/ui-next/src/assets/styles.css Scrollbar color tokenized; two duplicate background-color: #041c4a overrides removed from webkit scrollbar thumb rules.
extensions/default/src/utils/colorPickerDialog.css Chrome picker background changed to transparent and default box-shadow removed to inherit from parent dialog.

Comments Outside Diff (1)

  1. platform/ui-next/src/components/Icons/Sources/InvestigationalUse.tsx, line 36-45 (link)

    P1 Regulatory badge converted despite "Intentionally hardcoded" policy

    The PR description lists InvestigationalUse under "Intentionally hardcoded (brand/regulatory marks)" and says it was not changed, but the file is changed: the background fill, ring stroke, and figure stroke have all been moved to hsl(var(--muted)), hsl(var(--input)), and hsl(var(--primary)). Since this is a regulatory disclaimer icon that must meet specific legibility standards on any background, it warrants explicit confirmation that theme-adapting its colors satisfies those requirements, or the changes should be reverted per the stated policy.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: platform/ui-next/src/components/Icons/Sources/InvestigationalUse.tsx
    Line: 36-45
    
    Comment:
    **Regulatory badge converted despite "Intentionally hardcoded" policy**
    
    The PR description lists `InvestigationalUse` under "Intentionally hardcoded (brand/regulatory marks)" and says it was not changed, but the file is changed: the background fill, ring stroke, and figure stroke have all been moved to `hsl(var(--muted))`, `hsl(var(--input))`, and `hsl(var(--primary))`. Since this is a regulatory disclaimer icon that must meet specific legibility standards on any background, it warrants explicit confirmation that theme-adapting its colors satisfies those requirements, or the changes should be reverted per the stated policy.
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
platform/ui-next/src/components/Icons/Sources/OHIFLogoHorizontal.tsx:11-14
**Logo text colour now follows theme — inconsistent with stated policy**

The PR description explicitly lists `OHIFLogo` variants under "Intentionally hardcoded (brand/regulatory marks)" and says they were not changed, but `OHIFLogoHorizontal` has all its text path fills changed from `white` to `hsl(var(--foreground))` and its OHIF-grid icon fills from `#358CFD` to `hsl(var(--primary))`. On a light theme, `--foreground` will likely be dark, which would make the logo text invisible against a light header background (or vice versa). If the intent was to keep this logo hardcoded for brand consistency, these changes should be reverted. If the change is intentional, the PR description and the "Not Changed" section should be updated.

### Issue 2 of 2
platform/ui-next/src/components/Icons/Sources/InvestigationalUse.tsx:36-45
**Regulatory badge converted despite "Intentionally hardcoded" policy**

The PR description lists `InvestigationalUse` under "Intentionally hardcoded (brand/regulatory marks)" and says it was not changed, but the file is changed: the background fill, ring stroke, and figure stroke have all been moved to `hsl(var(--muted))`, `hsl(var(--input))`, and `hsl(var(--primary))`. Since this is a regulatory disclaimer icon that must meet specific legibility standards on any background, it warrants explicit confirmation that theme-adapting its colors satisfies those requirements, or the changes should be reverted per the stated policy.

Reviews (5): Last reviewed commit: "Updated study list non-UI art" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@netlify

netlify Bot commented May 26, 2026

Copy link
Copy Markdown

Deploy Preview for ohif-dev failed. Why did it fail? →

Name Link
🔨 Latest commit 575a93e
🔍 Latest deploy log https://app.netlify.com/projects/ohif-dev/deploys/6a3d65ae7153290008205bea

@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

SVG icons were converted from hardcoded colors to currentColor or theme HSL variables; several components and CSS rules were updated to use Tailwind theme classes or CSS variables. LoadingSpinner now accepts a className.

Changes

Icon and Component Color Theming

Layer / File(s) Summary
Icon SVG color system updates
platform/ui-next/src/components/Icons/Sources/*.tsx, platform/ui-next/src/components/Icons/Sources/LoadingSpinner.tsx
Multiple SVG icons now use currentColor, hsl(var(--accent)), or hsl(var(--primary)) instead of hardcoded fills/strokes; LoadingSpinner destructures className and its paths use currentColor.
Component styling and theme integration
extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx, extensions/cornerstone/src/components/TrackingStatus/TrackingStatus.tsx, extensions/default/src/Components/DataSourceConfigurationModalComponent.tsx, extensions/default/src/DicomTagBrowser/DicomTagBrowser.css, extensions/default/src/utils/colorPickerDialog.css, platform/app/src/routes/NotFound/NotFound.tsx, platform/ui-next/src/assets/styles.css, platform/ui-next/src/components/LayoutSelector/LayoutSelector.tsx, platform/ui-next/src/components/Onboarding/Onboarding.css, platform/ui-next/src/components/ProgressLoadingBar/ProgressLoadingBar.css, platform/ui-next/src/components/Sonner/Sonner.tsx, platform/app/src/routes/WorkList/*, platform/ui-next/src/components/StudyList/components/PreviewToggleButton.tsx, platform/ui-next/src/components/DateRange/DateRange.tsx
Component icon usages now include utility color classes (text-highlight, text-destructive, text-primary); CSS rules replaced hardcoded colors with theme variables (hsl(var(--...))) or transparent backgrounds; small layout/className adjustments applied.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • OHIF/Viewers#6005: touches several of the same ui-next SVG icon sources and similar theming changes.

Suggested reviewers

  • wayfarer3130
  • sedghi

"I nibble on the theme's bright thread,
currentColor warms the paths I tread,
HSL and Tailwind hum in tune,
icons glow beneath the moon,
a rabbit hops — design refreshed and fed." 🐇✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(colors): Replace hardcoded colors with theme tokens' is descriptive, specific, and follows semantic-release conventions. It accurately summarizes the main change across the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description is comprehensive, well-structured, and follows the template with all major sections completed: Context (clear explanation of hardcoded color replacement), Changes & Results (detailed breakdown by file type with before/after examples), and Testing (systematic checklist for all changed components).

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
platform/ui-next/src/components/Icons/Sources/Upload.tsx (1)

4-10: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Forward icon props to the <svg> root.

props are accepted but never applied. Line 10 should include {...props} so caller className/style/ARIA propagate; otherwise currentColor theming can’t be driven from usage sites.

Proposed fix
 export const Upload = (props: IconProps) => (
   <svg
     width="18"
     height="18"
     viewBox="0 0 18 18"
     xmlns="http://www.w3.org/2000/svg"
+    {...props}
   >

Also applies to: 13-13

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@platform/ui-next/src/components/Icons/Sources/Upload.tsx` around lines 4 -
10, The Upload component accepts IconProps but doesn't forward them to the SVG
root; update the Upload functional component so the <svg> element spreads the
incoming props (e.g., {...props}) to ensure className, style, aria attributes
and theming like currentColor propagate; locate the Upload declaration and apply
the props spread on the root <svg> element (and similarly ensure any other icon
components mentioned also forward their props).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@platform/ui-next/src/components/Icons/Sources/Upload.tsx`:
- Around line 4-10: The Upload component accepts IconProps but doesn't forward
them to the SVG root; update the Upload functional component so the <svg>
element spreads the incoming props (e.g., {...props}) to ensure className,
style, aria attributes and theming like currentColor propagate; locate the
Upload declaration and apply the props spread on the root <svg> element (and
similarly ensure any other icon components mentioned also forward their props).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 83f38a72-6558-4d61-bc6f-cd459b6866fb

📥 Commits

Reviewing files that changed from the base of the PR and between 571c2b4 and af41120.

📒 Files selected for processing (32)
  • extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx
  • extensions/cornerstone/src/components/TrackingStatus/TrackingStatus.tsx
  • extensions/default/src/Components/DataSourceConfigurationModalComponent.tsx
  • extensions/default/src/DicomTagBrowser/DicomTagBrowser.css
  • extensions/default/src/utils/colorPickerDialog.css
  • platform/app/src/routes/NotFound/NotFound.tsx
  • platform/ui-next/src/assets/styles.css
  • platform/ui-next/src/components/Icons/Sources/Alert.tsx
  • platform/ui-next/src/components/Icons/Sources/AlertOutline.tsx
  • platform/ui-next/src/components/Icons/Sources/ContentNext.tsx
  • platform/ui-next/src/components/Icons/Sources/ContentPrev.tsx
  • platform/ui-next/src/components/Icons/Sources/Helpers.tsx
  • platform/ui-next/src/components/Icons/Sources/IconTransferring.tsx
  • platform/ui-next/src/components/Icons/Sources/IllustrationNotFound.tsx
  • platform/ui-next/src/components/Icons/Sources/Layout.tsx
  • platform/ui-next/src/components/Icons/Sources/LoadingSpinner.tsx
  • platform/ui-next/src/components/Icons/Sources/NotificationInfo.tsx
  • platform/ui-next/src/components/Icons/Sources/NotificationWarning.tsx
  • platform/ui-next/src/components/Icons/Sources/Plus.tsx
  • platform/ui-next/src/components/Icons/Sources/Search.tsx
  • platform/ui-next/src/components/Icons/Sources/Show.tsx
  • platform/ui-next/src/components/Icons/Sources/SocialGithub.tsx
  • platform/ui-next/src/components/Icons/Sources/StatusAlert.tsx
  • platform/ui-next/src/components/Icons/Sources/StatusLocked.tsx
  • platform/ui-next/src/components/Icons/Sources/StatusTracking.tsx
  • platform/ui-next/src/components/Icons/Sources/StatusUntracked.tsx
  • platform/ui-next/src/components/Icons/Sources/Tools.tsx
  • platform/ui-next/src/components/Icons/Sources/Upload.tsx
  • platform/ui-next/src/components/LayoutSelector/LayoutSelector.tsx
  • platform/ui-next/src/components/Onboarding/Onboarding.css
  • platform/ui-next/src/components/ProgressLoadingBar/ProgressLoadingBar.css
  • platform/ui-next/src/components/Sonner/Sonner.tsx

Comment on lines 11 to +14
>
<path
d="M227.792 11.7344V16H226.702V8.90909H227.755V10.017H227.847C228.013 9.65696 228.266 9.36766 228.604 9.14915C228.943 8.92756 229.38 8.81676 229.915 8.81676C230.395 8.81676 230.816 8.91525 231.176 9.11222C231.536 9.30611 231.816 9.60156 232.016 9.99858C232.216 10.3925 232.316 10.8911 232.316 11.4943V16H231.226V11.5682C231.226 11.0111 231.082 10.5772 230.792 10.2663C230.503 9.95241 230.106 9.79545 229.601 9.79545C229.254 9.79545 228.943 9.87086 228.669 10.0217C228.398 10.1725 228.184 10.3925 228.027 10.6818C227.87 10.9711 227.792 11.322 227.792 11.7344Z"
fill="white"
fill="hsl(var(--foreground))"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Logo text colour now follows theme — inconsistent with stated policy

The PR description explicitly lists OHIFLogo variants under "Intentionally hardcoded (brand/regulatory marks)" and says they were not changed, but OHIFLogoHorizontal has all its text path fills changed from white to hsl(var(--foreground)) and its OHIF-grid icon fills from #358CFD to hsl(var(--primary)). On a light theme, --foreground will likely be dark, which would make the logo text invisible against a light header background (or vice versa). If the intent was to keep this logo hardcoded for brand consistency, these changes should be reverted. If the change is intentional, the PR description and the "Not Changed" section should be updated.

Prompt To Fix With AI
This is a comment left during a code review.
Path: platform/ui-next/src/components/Icons/Sources/OHIFLogoHorizontal.tsx
Line: 11-14

Comment:
**Logo text colour now follows theme — inconsistent with stated policy**

The PR description explicitly lists `OHIFLogo` variants under "Intentionally hardcoded (brand/regulatory marks)" and says they were not changed, but `OHIFLogoHorizontal` has all its text path fills changed from `white` to `hsl(var(--foreground))` and its OHIF-grid icon fills from `#358CFD` to `hsl(var(--primary))`. On a light theme, `--foreground` will likely be dark, which would make the logo text invisible against a light header background (or vice versa). If the intent was to keep this logo hardcoded for brand consistency, these changes should be reverted. If the change is intentional, the PR description and the "Not Changed" section should be updated.

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol - updated the PR message

@sedghi sedghi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, can you update the docs migration that we have changed our icons to do these

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants