From fa7b50233e942b186a9c3898d7b2e15ed03937fc Mon Sep 17 00:00:00 2001 From: Kyle Pope Date: Fri, 20 Feb 2026 14:48:54 +0800 Subject: [PATCH] Compact stat cards: ~50% shorter, recede as informational strip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Padding: p-4 → px-3 py-2 - Number: text-3xl → text-xl - Icons: p-2 h-5 w-5 → p-1.5 h-4 w-4 - Label/number gap: space-y-2 → space-y-0.5 - Weather: description + city inline with temp on one line - Grid gap tightened from gap-3 to gap-2.5 Co-Authored-By: Claude Opus 4.6 --- .../src/components/dashboard/StatsWidget.tsx | 57 ++++++++----------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/frontend/src/components/dashboard/StatsWidget.tsx b/frontend/src/components/dashboard/StatsWidget.tsx index 1c87030..4c7c815 100644 --- a/frontend/src/components/dashboard/StatsWidget.tsx +++ b/frontend/src/components/dashboard/StatsWidget.tsx @@ -36,21 +36,21 @@ export default function StatsWidget({ projectStats, totalIncompleteTodos, weathe ]; return ( -
+
{statCards.map((stat) => ( - -
-
-

+ +

+
+

{stat.label}

-

+

{stat.value}

-
- +
+
@@ -59,39 +59,32 @@ export default function StatsWidget({ projectStats, totalIncompleteTodos, weathe {/* Weather card */} - -
-
-

+ +

+
+

WEATHER

{weatherData ? ( - <> -

+

+

{weatherData.temp}°

-

+ {weatherData.description} -

- {weatherData.city && ( -

- {weatherData.city} -

- )} - + {weatherData.city && ( + · {weatherData.city} + )} + +
) : ( - <> -

- — -

-

- No city set -

- +

+ — +

)}
-
- +
+