fix(frontend): UI polish - fix CSS typo, dark mode border, and hardcoded colors (#1942)

- Fix `font-norma` typo to `font-normal` in message-list subtask count
- Fix dark mode `--border` using reddish hue (22.216) instead of neutral
- Replace hardcoded `rgb(184,184,192)` in hero with `text-muted-foreground`
- Replace hardcoded `bg-[#a3a1a1]` in streaming indicator with `bg-muted-foreground`
- Add missing `font-sans` to welcome description `<pre>` for consistency
- Make case-study-section padding responsive (`px-4 md:px-20`)

Closes #1940
This commit is contained in:
Xinmin Zeng 2026-04-08 09:07:39 +08:00 committed by GitHub
parent 0948c7a4e1
commit d1baf7212b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 10 additions and 11 deletions

View File

@ -69,10 +69,7 @@ export function Hero({ className }: { className?: string }) {
</div> </div>
</a> </a>
)} )}
<p <p className="text-muted-foreground mt-8 scale-105 text-center text-2xl text-shadow-sm">
className="mt-8 scale-105 text-center text-2xl text-shadow-sm"
style={{ color: "rgb(184,184,192)" }}
>
An open-source SuperAgent harness that researches, codes, and creates. An open-source SuperAgent harness that researches, codes, and creates.
With With
<br /> <br />

View File

@ -51,7 +51,7 @@ export function CaseStudySection({ className }: { className?: string }) {
title="Case Studies" title="Case Studies"
subtitle="See how DeerFlow is used in the wild" subtitle="See how DeerFlow is used in the wild"
> >
<div className="container-md mt-8 grid grid-cols-1 gap-4 px-20 md:grid-cols-2 lg:grid-cols-3"> <div className="container-md mt-8 grid grid-cols-1 gap-4 px-4 md:grid-cols-2 md:px-20 lg:grid-cols-3">
{caseStudies.map((caseStudy) => ( {caseStudies.map((caseStudy) => (
<Link <Link
key={caseStudy.title} key={caseStudy.title}

View File

@ -166,7 +166,7 @@ export function MessageList({
results.push( results.push(
<div <div
key="subtask-count" key="subtask-count"
className="text-muted-foreground font-norma pt-2 text-sm" className="text-muted-foreground pt-2 text-sm font-normal"
> >
{t.subtasks.executing(tasks.size)} {t.subtasks.executing(tasks.size)}
</div>, </div>,

View File

@ -14,19 +14,19 @@ export function StreamingIndicator({
<div <div
className={cn( className={cn(
dotSize, dotSize,
"animate-bouncing rounded-full bg-[#a3a1a1] opacity-100", "animate-bouncing bg-muted-foreground rounded-full opacity-100",
)} )}
/> />
<div <div
className={cn( className={cn(
dotSize, dotSize,
"animate-bouncing rounded-full bg-[#a3a1a1] opacity-100 [animation-delay:0.2s]", "animate-bouncing bg-muted-foreground rounded-full opacity-100 [animation-delay:0.2s]",
)} )}
/> />
<div <div
className={cn( className={cn(
dotSize, dotSize,
"animate-bouncing rounded-full bg-[#a3a1a1] opacity-100 [animation-delay:0.4s]", "animate-bouncing bg-muted-foreground rounded-full opacity-100 [animation-delay:0.4s]",
)} )}
/> />
</div> </div>

View File

@ -61,7 +61,9 @@ export function Welcome({
) : ( ) : (
<div className="text-muted-foreground text-sm"> <div className="text-muted-foreground text-sm">
{t.welcome.description.includes("\n") ? ( {t.welcome.description.includes("\n") ? (
<pre className="whitespace-pre">{t.welcome.description}</pre> <pre className="font-sans whitespace-pre">
{t.welcome.description}
</pre>
) : ( ) : (
<p>{t.welcome.description}</p> <p>{t.welcome.description}</p>
)} )}

View File

@ -273,7 +273,7 @@
--accent: oklch(0.32 0.0036 106.64); --accent: oklch(0.32 0.0036 106.64);
--accent-foreground: oklch(0.985 0 0); --accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216); --destructive: oklch(0.704 0.191 22.216);
--border: oklch(1 0.191 22.216 / 10%); --border: oklch(1 0 0 / 10%);
--input: oklch(1 0 0 / 15%); --input: oklch(1 0 0 / 15%);
--ring: transparent; --ring: transparent;
--chart-1: oklch(0.488 0.243 264.376); --chart-1: oklch(0.488 0.243 264.376);