From 0cf7b46bf76f0fe13078ec1ca29001d5cb78f809 Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Thu, 19 Mar 2026 03:55:36 +0000 Subject: [PATCH] =?UTF-8?q?feat(qt6):=20light=20blue=20gradients=20for=20l?= =?UTF-8?q?ight=20mode=20=E2=80=94=20hero=20wash,=20stats=20tint,=20blue-g?= =?UTF-8?q?ray=20palette?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hero section: horizontal + vertical blue gradient overlays in light mode - Stats strip: subtle blue-tinted background - Light theme base colors shifted blue (#d6d9e4 bg, #c6c9d6 paper) - Dark mode gradients unchanged Co-Authored-By: Claude Opus 4.6 (1M context) --- frontends/qt6/FrontPage.qml | 20 +++++++++++++++----- qml/components/theming/Theme.qml | 2 +- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/frontends/qt6/FrontPage.qml b/frontends/qt6/FrontPage.qml index be36cacb5..bc4593870 100644 --- a/frontends/qt6/FrontPage.qml +++ b/frontends/qt6/FrontPage.qml @@ -117,14 +117,24 @@ Rectangle { Layout.preferredHeight: 360 color: "transparent" - // Subtle gradient — uses accent colors, theme-aware + // Subtle gradient — stronger in light mode for warmth Rectangle { anchors.fill: parent gradient: Gradient { orientation: Gradient.Horizontal - GradientStop { position: 0.0; color: Qt.rgba(accentBlue.r, accentBlue.g, accentBlue.b, 0.06) } - GradientStop { position: 0.5; color: "transparent" } - GradientStop { position: 1.0; color: Qt.rgba(accentViolet.r, accentViolet.g, accentViolet.b, 0.04) } + GradientStop { position: 0.0; color: isDark ? Qt.rgba(0.39, 0.4, 0.95, 0.06) : Qt.rgba(0.30, 0.45, 0.90, 0.15) } + GradientStop { position: 0.5; color: isDark ? "transparent" : Qt.rgba(0.35, 0.55, 0.95, 0.06) } + GradientStop { position: 1.0; color: isDark ? Qt.rgba(0.55, 0.36, 0.96, 0.04) : Qt.rgba(0.50, 0.40, 0.92, 0.12) } + } + } + // Vertical blue wash in light mode + Rectangle { + anchors.fill: parent + visible: !isDark + gradient: Gradient { + GradientStop { position: 0.0; color: Qt.rgba(0.35, 0.50, 0.95, 0.10) } + GradientStop { position: 0.6; color: Qt.rgba(0.40, 0.55, 0.90, 0.04) } + GradientStop { position: 1.0; color: "transparent" } } } @@ -218,7 +228,7 @@ Rectangle { Rectangle { Layout.fillWidth: true Layout.preferredHeight: 80 - color: cardBg + color: isDark ? cardBg : Qt.rgba(0.35, 0.50, 0.90, 0.07) RowLayout { anchors.fill: parent diff --git a/qml/components/theming/Theme.qml b/qml/components/theming/Theme.qml index 98e5f773f..a7e190536 100644 --- a/qml/components/theming/Theme.qml +++ b/qml/components/theming/Theme.qml @@ -32,7 +32,7 @@ QtObject { readonly property var themes: ({ system: { name: "System", mode: "dark", primary: "#6366f1", background: "#0d0d0d", paper: "#1a1a1a", surface: "#242424", text: "#ffffff", textSecondary: "#a0a0a0", border: "#333333", error: "#ef4444", warning: "#f59e0b", success: "#22c55e", info: "#3b82f6" }, dark: { name: "Dark", mode: "dark", primary: "#6366f1", background: "#0d0d0d", paper: "#1a1a1a", surface: "#242424", text: "#ffffff", textSecondary: "#a0a0a0", border: "#333333", error: "#ef4444", warning: "#f59e0b", success: "#22c55e", info: "#3b82f6" }, - light: { name: "Light", mode: "light", primary: "#4f46e5", background: "#d8d8e0", paper: "#c8c8d2", surface: "#bfbfc9", text: "#111118", textSecondary: "#333345", border: "#a8a8b8", error: "#d32f2f", warning: "#ed6c02", success: "#2e7d32", info: "#0288d1" }, + light: { name: "Light", mode: "light", primary: "#4f46e5", background: "#d6d9e4", paper: "#c6c9d6", surface: "#bdbfc9", text: "#111118", textSecondary: "#333345", border: "#a4a8ba", error: "#d32f2f", warning: "#ed6c02", success: "#2e7d32", info: "#0288d1" }, midnight: { name: "Midnight", mode: "dark", primary: "#6366f1", background: "#0f172a", paper: "#1e293b", surface: "#334155", text: "#f1f5f9", textSecondary: "#94a3b8", border: "#334155", error: "#ef4444", warning: "#f59e0b", success: "#22c55e", info: "#3b82f6" }, forest: { name: "Forest", mode: "dark", primary: "#22c55e", background: "#0a1f0a", paper: "#14331a", surface: "#1a4d23", text: "#ecfdf5", textSecondary: "#a7f3d0", border: "#166534", error: "#ef4444", warning: "#f59e0b", success: "#22c55e", info: "#3b82f6" }, ocean: { name: "Ocean", mode: "dark", primary: "#0ea5e9", background: "#0c1929", paper: "#132f4c", surface: "#1e4976", text: "#e0f2fe", textSecondary: "#7dd3fc", border: "#0369a1", error: "#ef4444", warning: "#f59e0b", success: "#22c55e", info: "#0ea5e9" },