File size: 1,745 Bytes
6e1a53e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
"use client";
import { useState, useEffect } from "react";
import { Separator } from "@/components/ui/separator";
import { ChatCard } from "@/components/chat";
import Link from "next/link";
function generateSessionId() {
return Date.now().toString();
}
export default function Page() {
const [sessionId, setSessionId] = useState<string | null>(null);
useEffect(() => {
if (!sessionId) {
// Generate a new session ID (you can use any method to generate an ID)
const newSessionId = generateSessionId(); // Replace this with your own logic
setSessionId(newSessionId);
}
}, [sessionId]);
return (
<div className="mt-20 flex justify-center items-stretch">
<div className="max-w-screen-lg w-full bg-background">
<div className="p-4 md:p-8 flex flex-col">
<div className="space-y-4">
<div className="flex items-center justify-between">
{" "}
{/* Right-align heading and tooltip */}
<h2 className="text-2xl font-semibold tracking-tight">
Chat with your data
</h2>
</div>
</div>
<h3 className="flex text-sm text-muted-foreground">
Built using
<Link
className="text-gray-900 underline underline-offset-2 px-1"
href="https://github.com/embedchain/embedchain"
target="_blank"
>
Embedchain
</Link>
❤️
</h3>
<Separator className="my-4" />
<div className="flex-1 overflow-y-auto max-h-fit">
{sessionId !== null && <ChatCard sessionId={sessionId} />}
</div>
</div>
</div>
</div>
);
}
|