Skip to content

Commit d266985

Browse files
teallarsonclaude
andcommitted
Fix badge and time color contrast in dark mode
Source badges used light-only tints (bg-red-100, bg-blue-100, etc.) — white text from the outline Badge variant on those light backgrounds is ~1.5:1. Added explicit dark: variants (950 bg, 900 border, 200 text) for each source so both modes get readable colored-badge text (~7:1+). Also fixed P1 badge (hardcoded text-amber-800 with no dark variant) and scheduled-time text (text-blue-600 → dark:text-blue-400 for ~3:1 → ~5:1 on dark card backgrounds). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent aa695e6 commit d266985

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

templates/_shared/nextjs-ui/components/dashboard/task-card.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,32 +19,38 @@ const sourceConfig: Record<ItemSource, { icon: IconComponent; label: string; cla
1919
slack: {
2020
icon: Slack,
2121
label: "Slack",
22-
className: "bg-purple-100 border-purple-200",
22+
className:
23+
"bg-purple-100 border-purple-200 text-purple-900 dark:bg-purple-950 dark:border-purple-900 dark:text-purple-200",
2324
},
2425
google_calendar: {
2526
icon: GoogleCalendar,
2627
label: "Calendar",
27-
className: "bg-blue-100 border-blue-200",
28+
className:
29+
"bg-blue-100 border-blue-200 text-blue-900 dark:bg-blue-950 dark:border-blue-900 dark:text-blue-200",
2830
},
2931
linear: {
3032
icon: Linear,
3133
label: "Linear",
32-
className: "bg-indigo-100 border-indigo-200",
34+
className:
35+
"bg-indigo-100 border-indigo-200 text-indigo-900 dark:bg-indigo-950 dark:border-indigo-900 dark:text-indigo-200",
3336
},
3437
github: {
3538
icon: Github,
3639
label: "GitHub",
37-
className: "bg-gray-100 border-gray-300",
40+
className:
41+
"bg-gray-100 border-gray-300 text-gray-900 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-200",
3842
},
3943
gmail: {
4044
icon: Gmail,
4145
label: "Gmail",
42-
className: "bg-red-100 border-red-200",
46+
className:
47+
"bg-red-100 border-red-200 text-red-900 dark:bg-red-950 dark:border-red-900 dark:text-red-200",
4348
},
4449
other: {
4550
icon: Globe,
4651
label: "Other",
47-
className: "bg-gray-100 text-gray-600 border-gray-200",
52+
className:
53+
"bg-gray-100 border-gray-200 text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-300",
4854
},
4955
};
5056

@@ -56,7 +62,8 @@ const priorityConfig: Record<
5662
P1: {
5763
label: "P1",
5864
variant: "secondary",
59-
className: "bg-amber-100 text-amber-800 hover:bg-amber-100",
65+
className:
66+
"bg-amber-100 text-amber-800 hover:bg-amber-100 dark:bg-amber-950 dark:text-amber-200 dark:hover:bg-amber-950",
6067
},
6168
P2: { label: "P2", variant: "secondary" },
6269
FYI: { label: "FYI", variant: "outline" },
@@ -99,7 +106,7 @@ export function TaskCard({ item }: TaskCardProps) {
99106
</Badge>
100107
<Badge variant="outline">{categoryLabels[item.category] || item.category}</Badge>
101108
{formattedTime && (
102-
<span className="text-xs font-medium text-blue-600">{formattedTime}</span>
109+
<span className="text-xs font-medium text-blue-600 dark:text-blue-400">{formattedTime}</span>
103110
)}
104111
<span className="ml-auto text-xs text-muted-foreground">{item.effort}</span>
105112
</div>

0 commit comments

Comments
 (0)