Files
2026-07-13 12:58:18 +08:00

57 lines
1.5 KiB
TypeScript

"use client";
import { CopilotSidebar } from "@copilotkit/react-ui";
import { Dashboard } from "../components/Dashboard";
import { Header } from "../components/Header";
import { Footer } from "../components/Footer";
import { CustomAssistantMessage } from "../components/AssistantMessage";
import { prompt } from "../lib/prompt";
import { useCopilotReadable } from "@copilotkit/react-core";
import { Suspense } from "react";
function HomeContent() {
useCopilotReadable({
description: "Current time",
value: new Date().toLocaleTimeString(),
});
return (
<>
<CopilotSidebar
defaultOpen
instructions={prompt}
AssistantMessage={CustomAssistantMessage}
labels={{
title: "Data Assistant",
initial:
"Hello, I'm here to help you understand your data. How can I help?",
placeholder: "Ask about sales, trends, or metrics...",
}}
>
<div className="min-h-screen bg-gray-50 flex flex-col">
<Header />
<main className="w-full max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8 flex-grow">
<Dashboard />
</main>
<Footer />
</div>
</CopilotSidebar>
</>
);
}
export default function Home() {
return (
<Suspense
fallback={
<div className="min-h-screen bg-gray-50 flex items-center justify-center">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500"></div>
</div>
}
>
<HomeContent />
</Suspense>
);
}