Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions src/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -249,16 +249,30 @@ body {
}

.graph-value {
font-size: 28px;
font-size: 32px;
font-weight: 700;
text-shadow: 0 0 20px currentColor;
text-shadow: 0 0 20px currentColor, 0 0 40px currentColor;
animation: value-glow 2s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
.graph-value {
animation: none;
}
}

@keyframes value-glow {
from { text-shadow: 0 0 20px currentColor, 0 0 40px currentColor; }
to { text-shadow: 0 0 10px currentColor, 0 0 25px currentColor; }
Comment on lines +254 to +266
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Feb 20, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use lowercase currentcolor to satisfy Stylelint rules.

Static analysis reports value-keyword-case violations. CSS keywords should use lowercase per your project's Stylelint configuration.

🔧 Proposed fix
 .graph-value {
   font-size: 32px;
   font-weight: 700;
-  text-shadow: 0 0 20px currentColor, 0 0 40px currentColor;
+  text-shadow: 0 0 20px currentcolor, 0 0 40px currentcolor;
   animation: value-glow 2s ease-in-out infinite alternate;
 }
 
 `@media` (prefers-reduced-motion: reduce) {
   .graph-value {
     animation: none;
   }
 }
 
 `@keyframes` value-glow {
-  from { text-shadow: 0 0 20px currentColor, 0 0 40px currentColor; }
-  to { text-shadow: 0 0 10px currentColor, 0 0 25px currentColor; }
+  from { text-shadow: 0 0 20px currentcolor, 0 0 40px currentcolor; }
+  to { text-shadow: 0 0 10px currentcolor, 0 0 25px currentcolor; }
 }
🧰 Tools
🪛 Stylelint (17.3.0)

[error] 254-254: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)


[error] 254-254: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)


[error] 265-265: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)


[error] 265-265: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)


[error] 266-266: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)


[error] 266-266: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/App.css` around lines 254 - 266, Change all occurrences of the CSS
keyword "currentColor" to lowercase "currentcolor" to satisfy the Stylelint
value-keyword-case rule: update the .graph-value rule (text-shadow and any
animation declarations) and both frames in the `@keyframes` value-glow definition
to use "currentcolor" instead of "currentColor".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

why did you suggest this?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@jbingham17 The suggestion was based on your project's Stylelint configuration, which enforces the value-keyword-case rule requiring CSS keywords to be lowercase.

Both currentColor and currentcolor work identically in CSS—the language is case-insensitive for keywords. However, the linter flagged 6 violations because your project's style guide prefers lowercase keywords for consistency.

This is purely a code style suggestion, not a functional issue. If your team prefers the camelCase currentColor for readability, you can either:

  • Ignore this particular suggestion
  • Adjust the Stylelint rule in your configuration to allow camelCase keywords

The choice is yours based on your team's style preferences!

}

.graph-container {
margin-bottom: 12px;
border-radius: 8px;
overflow: hidden;
background: rgba(0, 0, 0, 0.3);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 15px rgba(96, 165, 250, 0.06);
border: 1px solid rgba(255, 255, 255, 0.04);
}

/* CPU Cores Grid */
Expand Down
12 changes: 7 additions & 5 deletions src/components/CpuGraph.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
Area,
XAxis,
YAxis,
CartesianGrid,
ResponsiveContainer,
Tooltip,
} from 'recharts';
Expand Down Expand Up @@ -65,16 +66,17 @@ export function CpuGraph({ cpuUsage }: CpuGraphProps) {
</span>
</div>
<div className="graph-container">
<ResponsiveContainer width="100%" height={120}>
<ResponsiveContainer width="100%" height={160}>
<AreaChart data={history} margin={{ top: 5, right: 5, bottom: 5, left: 5 }}>
<defs>
{cpuUsage.map((cpu, i) => (
<linearGradient key={cpu.core} id={`cpuGradient${cpu.core}`} x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stopColor={COLORS[i % COLORS.length]} stopOpacity={0.6} />
<stop offset="100%" stopColor={COLORS[i % COLORS.length]} stopOpacity={0.1} />
<stop offset="0%" stopColor={COLORS[i % COLORS.length]} stopOpacity={0.8} />
<stop offset="100%" stopColor={COLORS[i % COLORS.length]} stopOpacity={0.05} />
</linearGradient>
))}
</defs>
<CartesianGrid strokeDasharray="3 3" stroke="rgba(255,255,255,0.04)" />
<XAxis dataKey="time" hide />
<YAxis domain={[0, 100]} hide />
<Tooltip
Expand All @@ -93,11 +95,11 @@ export function CpuGraph({ cpuUsage }: CpuGraphProps) {
{cpuUsage.map((cpu, i) => (
<Area
key={cpu.core}
type="linear"
type="monotone"
dataKey={`cpu${cpu.core}`}
stroke={COLORS[i % COLORS.length]}
fill={`url(#cpuGradient${cpu.core})`}
strokeWidth={1.5}
strokeWidth={2}
dot={false}
isAnimationActive={false}
/>
Expand Down
12 changes: 7 additions & 5 deletions src/components/MemoryGraph.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
Area,
XAxis,
YAxis,
CartesianGrid,
ResponsiveContainer,
Tooltip,
} from 'recharts';
Expand Down Expand Up @@ -67,14 +68,15 @@ export function MemoryGraph({ used, total, percent }: MemoryGraphProps) {
</span>
</div>
<div className="graph-container">
<ResponsiveContainer width="100%" height={120}>
<ResponsiveContainer width="100%" height={160}>
<AreaChart data={history} margin={{ top: 5, right: 5, bottom: 5, left: 5 }}>
<defs>
<linearGradient id="memGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stopColor={color} stopOpacity={0.7} />
<stop offset="100%" stopColor={color} stopOpacity={0.1} />
<stop offset="0%" stopColor={color} stopOpacity={0.9} />
<stop offset="100%" stopColor={color} stopOpacity={0.05} />
</linearGradient>
</defs>
<CartesianGrid strokeDasharray="3 3" stroke="rgba(255,255,255,0.04)" />
<XAxis dataKey="time" hide />
<YAxis domain={[0, 100]} hide />
<Tooltip
Expand All @@ -88,11 +90,11 @@ export function MemoryGraph({ used, total, percent }: MemoryGraphProps) {
formatter={(value: number) => [`${value.toFixed(1)}%`, 'Usage']}
/>
<Area
type="linear"
type="monotone"
dataKey="percent"
stroke={color}
fill="url(#memGradient)"
strokeWidth={2}
strokeWidth={2.5}
dot={false}
isAnimationActive={false}
/>
Expand Down
Loading