From 6552511978e8ccbe6484d42a35fc3bcb868b4ef1 Mon Sep 17 00:00:00 2001 From: ramseshk Date: Thu, 6 Aug 2026 04:22:50 +0000 Subject: [PATCH] Hallmark Cobalt: unified light palette + Ubuntu fonts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Layout: Ubuntu + Ubuntu Mono (next/font/google), light mode CSS: Hallmark Cobalt palette — cool paper bg, hairlines, electric cobalt primary, slate secondary Cards: white bg, hairline borders, muted type badges Header/tabs: Ubuntu Mono labels, Ubuntu tab buttons Removed: dark mode, Inter/JetBrains Mono, purple gradients --- dashboard-next/src/app/globals.css | 88 +++++++++++-------- dashboard-next/src/app/layout.tsx | 20 +++-- dashboard-next/src/app/page.tsx | 6 +- .../src/components/strategy-card.tsx | 31 ++++--- dashboard/static/index.html | 8 +- 5 files changed, 82 insertions(+), 71 deletions(-) diff --git a/dashboard-next/src/app/globals.css b/dashboard-next/src/app/globals.css index b5adc38..890d6cd 100644 --- a/dashboard-next/src/app/globals.css +++ b/dashboard-next/src/app/globals.css @@ -1,7 +1,5 @@ @import "tailwindcss"; -@custom-variant dark (&:is(.dark *)); - @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); @@ -30,49 +28,61 @@ --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); - --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; - --font-mono: var(--font-jetbrains-mono), ui-monospace, monospace; + --font-sans: var(--font-ubuntu), ui-sans-serif, system-ui, sans-serif; + --font-mono: var(--font-ubuntu-mono), ui-monospace, monospace; } +/* ═══════════ Hallmark Cobalt — Light Palette ═══════════ */ :root { - --radius: 0.5rem; -} - -.dark { - --background: oklch(0.0588 0.0162 269.6475); - --foreground: oklch(0.985 0 0); - --card: oklch(0.1059 0.0201 269.5991); - --card-foreground: oklch(0.985 0 0); - --popover: oklch(0.1059 0.0201 269.5991); - --popover-foreground: oklch(0.985 0 0); - --primary: oklch(0.985 0 0); - --primary-foreground: oklch(0.0588 0.0162 269.6475); - --secondary: oklch(0.1776 0 0); - --secondary-foreground: oklch(0.985 0 0); - --muted: oklch(0.1776 0 0); - --muted-foreground: oklch(0.7559 0.0125 239.9659); - --accent: oklch(0.1776 0 0); - --accent-foreground: oklch(0.985 0 0); - --destructive: oklch(0.602 0.2378 25.3312); - --border: oklch(1 0 0 / 0.1); - --input: oklch(1 0 0 / 0.15); - --ring: oklch(0.7559 0.0125 239.9659); - --chart-1: oklch(0.646 0.222 41.116); - --chart-2: oklch(0.6 0.118 184.704); - --chart-3: oklch(0.398 0.07 227.392); - --chart-4: oklch(0.828 0.189 84.429); - --chart-5: oklch(0.769 0.188 70.08); -} - -* { - border-color: var(--border); - outline-color: var(--ring); + --radius: 0.25rem; + + /* Engineered cool paper — never pure white */ + --background: #f8f9fb; + --foreground: #1a1c23; + + /* Cards: crisp white with hairline border */ + --card: #ffffff; + --card-foreground: #1a1c23; + + /* Popovers / overlays */ + --popover: #ffffff; + --popover-foreground: #1a1c23; + + /* Primary: electric cobalt signal */ + --primary: #0ea5e9; + --primary-foreground: #ffffff; + + /* Secondary: slate gray */ + --secondary: #e8eaf0; + --secondary-foreground: #4a4f5c; + + /* Muted: subtle backgrounds */ + --muted: #f1f3f7; + --muted-foreground: #6e7381; + + /* Accent: navy blue */ + --accent: #1e3a5f; + --accent-foreground: #ffffff; + + /* Destructive: coral red */ + --destructive: #e74c3c; + + /* Borders: engineered hairlines */ + --border: #e0e4ec; + --input: #e0e4ec; + --ring: #0ea5e9; + + /* Charts — Hallmark palette */ + --chart-1: #0ea5e9; + --chart-2: #6366f1; + --chart-3: #f59e0b; + --chart-4: #10b981; + --chart-5: #ef4444; } +/* Body defaults */ body { + font-family: var(--font-ubuntu), ui-sans-serif, system-ui, sans-serif; background: var(--background); color: var(--foreground); - font-family: var(--font-sans); - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } diff --git a/dashboard-next/src/app/layout.tsx b/dashboard-next/src/app/layout.tsx index d922890..983c9c7 100644 --- a/dashboard-next/src/app/layout.tsx +++ b/dashboard-next/src/app/layout.tsx @@ -1,26 +1,28 @@ import type { Metadata } from "next"; -import { Inter, JetBrains_Mono } from "next/font/google"; +import { Ubuntu, Ubuntu_Mono } from "next/font/google"; import "./globals.css"; -const inter = Inter({ +const ubuntu = Ubuntu({ subsets: ["latin"], - variable: "--font-inter", + weight: ["300", "400", "500", "700"], + variable: "--font-ubuntu", }); -const jetbrainsMono = JetBrains_Mono({ +const ubuntuMono = Ubuntu_Mono({ subsets: ["latin"], - variable: "--font-jetbrains-mono", + weight: ["400", "700"], + variable: "--font-ubuntu-mono", }); export const metadata: Metadata = { - title: "FTDT Quant Lab", - description: "Professional quantitative trading dashboard — live testnet, paper mainnet, historical backtests", + title: "Quant Dashboard", + description: "Live testnet, paper mainnet, historical backtests", }; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - - + + {children} diff --git a/dashboard-next/src/app/page.tsx b/dashboard-next/src/app/page.tsx index a743b07..30e1ef6 100644 --- a/dashboard-next/src/app/page.tsx +++ b/dashboard-next/src/app/page.tsx @@ -307,14 +307,14 @@ export default function Dashboard() {
- + {tab === "live" ? "Live Testnet" : tab === "paper" ? "Paper Mainnet" : "Historical"}
- + {liveConn ? "CONNECTED" : "OFFLINE"} · {liveData?.status ?? "···"} @@ -329,7 +329,7 @@ export default function Dashboard() {
\ No newline at end of file +Quant Dashboard
Live Testnet
OFFLINE · ···
\ No newline at end of file