diff --git a/scripts/ui-drift-baseline.json b/scripts/ui-drift-baseline.json index 57eb4d7..ecf1ee4 100644 --- a/scripts/ui-drift-baseline.json +++ b/scripts/ui-drift-baseline.json @@ -1,7 +1,7 @@ { - "//": "Baseline UI drift counts. Updated 2026-05-23T08:33:24Z by scripts/ui-drift-ratchet.sh --update. Commit alongside the migration that lowered the counts.", - "raw_interactive_controls": 25, - "legacy_global_surface_classes": 67, + "//": "Baseline UI drift counts. Updated 2026-05-23T08:48:54Z by scripts/ui-drift-ratchet.sh --update. Commit alongside the migration that lowered the counts.", + "raw_interactive_controls": 14, + "legacy_global_surface_classes": 21, "hardcoded_color_literals": 0, "direct_bytelyst_ui_imports_outside_adapter": 0 } diff --git a/web/src/app/(app)/notes/[noteId]/page.tsx b/web/src/app/(app)/notes/[noteId]/page.tsx index 6892ca7..3124b50 100644 --- a/web/src/app/(app)/notes/[noteId]/page.tsx +++ b/web/src/app/(app)/notes/[noteId]/page.tsx @@ -13,7 +13,7 @@ import { ArtifactPanel } from "@/components/ArtifactPanel"; import { AgentTimeline } from "@/components/AgentTimeline"; import { SmartActionsPanel } from "@/components/SmartActionsPanel"; import { LinkNoteModal } from "@/components/LinkNoteModal"; -import { Badge, Button } from "@/components/ui/Primitives"; +import { Badge, Button, Card } from "@/components/ui/Primitives"; import { archiveNote, createNoteArtifact, @@ -214,11 +214,11 @@ export default function NoteDetailPage() { Loading} + actions={Loading} > -
+ {error ?? "Loading note…"} -
+
); } @@ -232,8 +232,8 @@ export default function NoteDetailPage() { {isSaving ? ( Saving ) : ( - - {`Review: ${note.metadata.reviewState}`} + + {`Review: ${note.metadata.reviewState}`} )} - + ))} ); diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index a24ddb6..9daa8e1 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -1,27 +1,36 @@ import Link from "next/link"; +import { Badge, Card } from "@/components/ui/Primitives"; export default function HomePage() { return ( -
-
-
Backend-backed web surface
-
-

+
+ + + Backend-backed web surface + +
+

NoteLett

-

+

Structured notes workspace for humans and agents with search, review, and operational context.

-
- +
+ Open dashboard - + Browse workspaces
-

+
); } diff --git a/web/src/app/share/[token]/page.tsx b/web/src/app/share/[token]/page.tsx index 29dc3fb..dcd6e8b 100644 --- a/web/src/app/share/[token]/page.tsx +++ b/web/src/app/share/[token]/page.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; +import { Badge, Card } from "@/components/ui/Primitives"; import { NOTES_API_URL, PRODUCT_NAME } from "@/lib/product-config"; import { sanitizeSharedNoteHtml } from "@/lib/sanitize-share-html"; @@ -46,28 +47,31 @@ export default function SharedNotePage() { }, [token]); return ( -
-
-
+
+
+ Read-only public share · {PRODUCT_NAME} -
-

{note?.title ?? (error ? "Unavailable" : "Loading…")}

+ +

+ {note?.title ?? (error ? "Unavailable" : "Loading…")} +

-
- {error ?

{error}

: null} - {note ? ( - <> -

- Updated {new Date(note.updatedAt).toLocaleString()} · {note.expiresAt ? `Expires ${new Date(note.expiresAt).toLocaleDateString()}` : "Expires when revoked"} · Note ID {note.noteId} -

-
- - ) : null} -
+ +
+ {error ?

{error}

: null} + {note ? ( + <> +

+ Updated {new Date(note.updatedAt).toLocaleString()} · {note.expiresAt ? `Expires ${new Date(note.expiresAt).toLocaleDateString()}` : "Expires when revoked"} · Note ID {note.noteId} +

+
+ + ) : null} +
+
); } diff --git a/web/src/components/BroadcastBanner.tsx b/web/src/components/BroadcastBanner.tsx index ba2d9a6..302cd53 100644 --- a/web/src/components/BroadcastBanner.tsx +++ b/web/src/components/BroadcastBanner.tsx @@ -1,6 +1,7 @@ "use client"; import { useEffect, useState, useCallback, useRef } from "react"; +import { Button } from "@/components/ui/Primitives"; import { getBroadcastClient } from "@/lib/broadcast-client"; import type { InAppMessage } from "@bytelyst/broadcast-client"; @@ -65,15 +66,21 @@ export function BroadcastBanner() { {msg.title} {msg.body && {msg.body}} {msg.ctaUrl && ( - + )} {msg.dismissible !== false && ( - + )} ))} diff --git a/web/src/components/KnowledgeGraphView.tsx b/web/src/components/KnowledgeGraphView.tsx index 84d61bc..9cf69e5 100644 --- a/web/src/components/KnowledgeGraphView.tsx +++ b/web/src/components/KnowledgeGraphView.tsx @@ -1,7 +1,7 @@ "use client"; import { useCallback, useEffect, useState } from "react"; -import { Button, Card } from "@/components/ui/Primitives"; +import { Button, Card, Input } from "@/components/ui/Primitives"; import { queryEntity, getEntityTimeline, getKGContradictions, type PalaceKGTriple } from "@/lib/palace-client"; interface KnowledgeGraphViewProps { @@ -61,15 +61,14 @@ export function KnowledgeGraphView({ wingId }: KnowledgeGraphViewProps) {
Knowledge Graph
- setEntity(e.target.value)} onKeyDown={(e) => e.key === "Enter" && handleQuery()} placeholder="Query entity (e.g. React, Fastify)..." aria-label="Query knowledge graph entity" - className="input" - style={{ flex: 1 }} + className="flex-1" />