diff --git a/docs/app/(home)/components/BuildChatSection.tsx b/docs/app/(home)/components/BuildChatSection.tsx
index a40a62f95..77646b078 100644
--- a/docs/app/(home)/components/BuildChatSection.tsx
+++ b/docs/app/(home)/components/BuildChatSection.tsx
@@ -1,10 +1,10 @@
"use client";
import { useEffect, useRef, useState } from "react";
+import Image from "next/image";
+import dashboardImg from "@/public/images/home/d67b5e94653944c1d0d4998c6b169c37f98060ad.png";
import { CopyIcon } from "./shared";
-const dashboardImg = "/images/home/d67b5e94653944c1d0d4998c6b169c37f98060ad.png";
-
// ---------------------------------------------------------------------------
// Constants
// ---------------------------------------------------------------------------
@@ -96,10 +96,11 @@ function CtaButton() {
function DashboardIllustration() {
return (
-
);
}
diff --git a/docs/app/docs/chat/page.tsx b/docs/app/docs/chat/page.tsx
index 99d972f66..85f08d501 100644
--- a/docs/app/docs/chat/page.tsx
+++ b/docs/app/docs/chat/page.tsx
@@ -1,6 +1,7 @@
import { Button } from "@/components/button";
import { HeroBadge } from "@/components/hero-badge";
-import { Card, Cards } from "fumadocs-ui/components/card";
+import { FeatureCard, FeatureCards } from "@/components/overview-components";
+import { CodeBlock } from "@/components/overview-components";
import {
Code2,
Database,
@@ -20,6 +21,26 @@ export const metadata = {
"Production-ready chat UI for AI agents. Drop-in layouts, streaming, and state management.",
};
+const headlessCode = `import { useChat } from '@openuidev/react';
+
+function CustomChat() {
+ const { messages, append, isLoading } = useChat();
+
+ return (
+
@@ -115,36 +107,7 @@ export default function ChatOverviewPage() { state.
-
- {`import { useChat } from '@openuidev/react';
-
-function CustomChat() {
- const { messages, append, isLoading } = useChat();
-
- return (
-
- {messages.map(m => (
-
- {m.content}
-
- ))}
-
- append(e.target.value)}
- />
-
- );
-}`}
-
- @@ -75,23 +77,23 @@ export default function OpenUILangOverview() {
An alternative to{" "} - Vercel JSON renderer - {" "} + {" "} and{" "} - A2UI - {" "} + {" "} that uses ~52% fewer tokens than equivalent JSON structures. Define your component library with Zod schemas and parse LLM responses into renderable components.
@@ -116,34 +118,23 @@ export default function OpenUILangOverview() {- Line-oriented syntax means the UI renders line-by-line. No waiting for valid JSON - closing braces. -
-- Uses ~52% fewer tokens than equivalent JSON structures, significantly reducing - inference cost and latency. -
-- Strictly typed against your Zod schemas. If the generated code does not match your - definition, it does not render. -
-- Generate complex data visualizations and metric cards from natural language queries. -
-- Stream UI components in real-time as the LLM generates responses. -
-- Build adaptive forms that change based on user input or context. -
-