diff --git a/frontend/src/app/conversations/page.tsx b/frontend/src/app/conversations/page.tsx index e15da465..97e3a9ba 100644 --- a/frontend/src/app/conversations/page.tsx +++ b/frontend/src/app/conversations/page.tsx @@ -148,7 +148,7 @@ export default function ConversationsPage() { type="button" onClick={handleClearAll} disabled={items.length === 0 && !listLoading} - className="rounded-[var(--radius-md)] border border-[var(--cnrs-blue)] px-4 py-2 text-sm font-medium text-[var(--cnrs-blue)] transition hover:bg-[var(--cnrs-blue)] hover:text-white disabled:cursor-not-allowed disabled:opacity-40" + className="rounded-[var(--radius-md)] border border-[var(--cnrs-blue)] px-4 py-2 text-sm font-medium text-[var(--text-body)] transition hover:bg-[var(--cnrs-blue)] hover:text-white disabled:cursor-not-allowed disabled:opacity-40" > Clear all @@ -242,7 +242,7 @@ function ConvRow({ "flex w-full flex-col gap-1.5 rounded-[var(--radius-md)] px-3 py-2.5 text-left transition", active ? "bg-[var(--cnrs-yellow)] text-[var(--cnrs-blue)]" - : "text-[var(--text-body)] hover:bg-[var(--cnrs-grey-light)]", + : "text-[var(--text-body)] hover:bg-[var(--surface-hover)]", ].join(" ")} > @@ -266,7 +266,7 @@ function ConvRow({ className={[ "rounded-full px-1.5 py-0.5 font-mono", active - ? "bg-[var(--cnrs-blue)]/10 text-[var(--cnrs-blue)]" + ? "bg-[var(--cnrs-blue)]/10 text-[var(--text-body)]" : "bg-[var(--cnrs-grey-light)] text-[var(--text-muted)]", ].join(" ")} > @@ -275,7 +275,7 @@ function ConvRow({ )} {relativeTime(conv.updated_at ?? conv.created_at)} @@ -307,7 +307,7 @@ function EmptyState() { style={{ background: "var(--cnrs-yellow)" }} aria-hidden /> -

+

Select a conversation

@@ -354,11 +354,11 @@ function DetailPane({ -

+

{detail?.title?.trim() || (loading ? "Loading…" : "Untitled")}

{detail?.kb_name && ( @@ -368,7 +368,7 @@ function DetailPane({ )} Export JSON diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico index 348598af..be9e06c0 100644 Binary files a/frontend/src/app/favicon.ico and b/frontend/src/app/favicon.ico differ diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index 8db92add..e13cd412 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -31,6 +31,8 @@ --border: #dfe4ec; --text-body: #00284b; --text-muted: #4a5b75; + --surface-hover: var(--cnrs-grey-light); /* light grey hover (unchanged in light mode) */ + color-scheme: light; /* Geometry */ --radius-sm: 8px; @@ -77,6 +79,8 @@ html:not(.theme-light) { --border: #1d3d5e; --text-body: #ebf0f5; --text-muted: #8296a5; + --surface-hover: #1b3f63; /* subtle elevated navy for button :hover (was a near-white flash) */ + color-scheme: dark; /* themes native controls (select dropdowns, scrollbars) */ --shadow-card: 0 8px 30px rgba(0, 0, 0, 0.4); --shadow-elev: 0 16px 48px rgba(0, 0, 0, 0.5); /* In dark mode, "CNRS-blue accent text" disappears against the @@ -95,6 +99,8 @@ html.theme-dark { --border: #1d3d5e; --text-body: #ebf0f5; --text-muted: #8296a5; + --surface-hover: #1b3f63; /* subtle elevated navy for button :hover (was a near-white flash) */ + color-scheme: dark; /* themes native controls (select dropdowns, scrollbars) */ --shadow-card: 0 8px 30px rgba(0, 0, 0, 0.4); --shadow-elev: 0 16px 48px rgba(0, 0, 0, 0.5); --accent-fg: #ffeb6e; @@ -110,6 +116,8 @@ html.theme-light { --border: #dfe4ec; --text-body: #00284b; --text-muted: #4a5b75; + --surface-hover: var(--cnrs-grey-light); /* light grey hover (unchanged in light mode) */ + color-scheme: light; --shadow-card: 0 8px 30px rgba(0, 40, 75, 0.08); --shadow-elev: 0 16px 48px rgba(0, 40, 75, 0.12); } diff --git a/frontend/src/app/icon.svg b/frontend/src/app/icon.svg new file mode 100644 index 00000000..bdce6f7e --- /dev/null +++ b/frontend/src/app/icon.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/frontend/src/app/kb/[name]/expand/_components/CandidateList.tsx b/frontend/src/app/kb/[name]/expand/_components/CandidateList.tsx index 1269886d..0996eaad 100644 --- a/frontend/src/app/kb/[name]/expand/_components/CandidateList.tsx +++ b/frontend/src/app/kb/[name]/expand/_components/CandidateList.tsx @@ -22,7 +22,7 @@ export function CandidateList({ candidates }: { candidates: ExpandCandidate[] }) {c.score.toFixed(3)}
-

+

{c.title ?? c.doi ?? "(untitled)"}

{c.doi && ( diff --git a/frontend/src/app/kb/[name]/expand/_components/SampleLabeler.tsx b/frontend/src/app/kb/[name]/expand/_components/SampleLabeler.tsx index 48e2b1b5..b5234840 100644 --- a/frontend/src/app/kb/[name]/expand/_components/SampleLabeler.tsx +++ b/frontend/src/app/kb/[name]/expand/_components/SampleLabeler.tsx @@ -28,7 +28,7 @@ export function SampleLabeler({ className="rounded-[var(--radius-lg)] border border-[var(--border)] bg-[var(--surface)] p-4 shadow-[var(--shadow-card)]" >
-

+

{s.title ?? s.doi ?? "(untitled)"}

@@ -49,7 +49,7 @@ export function SampleLabeler({ "rounded-[var(--radius-md)] px-3 py-1.5 text-sm font-medium transition", label === true ? "bg-[var(--cnrs-blue)] text-white" - : "border border-[var(--border)] text-[var(--cnrs-blue)] hover:bg-[var(--cnrs-grey-light)]", + : "border border-[var(--border)] text-[var(--text-body)] hover:bg-[var(--surface-hover)]", ].join(" ")} > Relevant diff --git a/frontend/src/app/kb/[name]/expand/page.tsx b/frontend/src/app/kb/[name]/expand/page.tsx index 4abddb91..2cf3a614 100644 --- a/frontend/src/app/kb/[name]/expand/page.tsx +++ b/frontend/src/app/kb/[name]/expand/page.tsx @@ -145,7 +145,7 @@ export default function ExpandSimilarPage({ actions={ ← Back to KB @@ -277,7 +277,7 @@ function ConfigurePhase({