"use client"; // These pages sit in the shared root layout segment and must not import the // site stylesheet — that would drag the chat styles onto every admin route — so // they cannot read a single design token. They restate the handful they need, // in both themes, and those values are kept in step with the palette by hand. import { useEffect } from "react"; import { TriangleAlert } from "lucide-react"; import Link from "next/link"; const canvas = "var(--bp-canvas)"; const ink = "var(--bp-ink)"; const inkSecondary = "var(--bp-ink-soft)"; const danger = "var(--bp-danger)"; const border = "var(--bp-border)"; const action = "var(--bp-action)"; const focus = "var(--bp-action)"; const actionStyle = { alignItems: "center", borderRadius: "12px", display: "inline-flex", fontSize: "14px", fontWeight: 500, justifyContent: "center", minHeight: "44px", minWidth: "88px", padding: "0 20px", textDecoration: "none", } as const; export default function RootError({ error, reset, }: { error: Error & { digest?: string }; reset: () => void; }) { useEffect(() => { console.error("app root error", error.digest ?? error.message); }, [error]); return (
); }