Skip to content

fix(calendar): readable text on inactive event tiles#986

Merged
renemadsen merged 1 commit into
stablefrom
fix/calendar-inactive-event-text-color
Jun 8, 2026
Merged

fix(calendar): readable text on inactive event tiles#986
renemadsen merged 1 commit into
stablefrom
fix/calendar-inactive-event-text-color

Conversation

@renemadsen

Copy link
Copy Markdown
Member

Problem

Inactive calendar event tiles (task.status === false) render white text on a light-grey background → unreadable.

Gap from #980: that PR added [style.color]="boardTextColor(task.color)", which returns white for dark boards. The .gcal-task--inactive SCSS repaints the tile light-grey (#eef0f2) with color: #6b7280, but that color is not !important, so the inline white wins → white-on-light-grey.

Fix

Make the inline color conditional so inactive tiles emit no inline color and let the SCSS grey cascade:

[style.color]="task.status === false ? null : boardTextColor(task.color)"
  • Inactive → #6b7280 grey on #eef0f2 (readable); .completion-btn/.task-title inherit, .task-time keeps its muted tone.
  • Active → unchanged (boardTextColor: white on dark boards, #1a1a1a on light).
  • Completed-inactive edge case preserved: .gcal-task--inactive.completed { color:#fff } still applies (white on green).

All-day chip and drag-ghost don't have a light-grey inactive state — no change needed.

🤖 Generated with Claude Code

PR #980 added [style.color]="boardTextColor(task.color)" to calendar
event tiles. For inactive tasks (status === false) the SCSS
.gcal-task--inactive rule recolours the tile to a light-grey card
(#eef0f2 background, #6b7280 muted text), but the non-!important SCSS
colour lost to the inline boardTextColor — which is white on dark
boards — leaving white text on a light-grey background (unreadable).

Make the inline colour conditional: emit null for inactive tiles so the
SCSS grey applies and cascades (completion-btn uses color:inherit,
.task-title inherits, .task-time keeps its own muted grey). Active tiles
are unchanged (still boardTextColor: white on dark, #1a1a1a on light),
and the inactive+completed case still resolves to white-on-green via the
more-specific .gcal-task--inactive.completed rule.

The all-day chip and drag-ghost are unaffected: neither has a light-grey
inactive background, so there is no contrast regression to fix there.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 8, 2026 10:07

Copilot AI 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.

Pull request overview

This PR improves the Calendar module’s timed event tile readability by preventing inactive tiles (task.status === false) from emitting an inline text color that would override the inactive SCSS styling. This aligns the UI behavior with the existing .gcal-task--inactive grey theme so text stays legible.

Changes:

  • Make [style.color] conditional so inactive tiles don’t set an inline color, allowing .gcal-task--inactive to control text color via CSS.

[style.z-index]="zIndexStyle"
[style.background-color]="task.color"
[style.color]="boardTextColor(task.color)"
[style.color]="task.status === false ? null : boardTextColor(task.color)"
@renemadsen renemadsen merged commit d90feda into stable Jun 8, 2026
27 checks passed
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