import { Component } from "@performer/core"; import { usePerformerClient } from "../hooks/use-performer-client.js"; import { MessageInput } from "./MessageInput.js"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.js"; import { MessageList } from "./MessageList.js"; import { useScroll } from "../hooks/use-scroll.js"; import { createContext, useEffect } from "react"; import { PerformerOptions } from "@performer/core"; export function ChatWindow({ App }: { App: Component }) { const options: PerformerOptions = { logLevel: import.meta.env["VITE_LOGLEVEL"] || "info", }; const { events, sendMessage, state } = usePerformerClient(App, options); const { messagesStartRef, messagesEndRef, handleScroll, scrollToBottom, setIsAtBottom, isAtTop, isAtBottom, isOverflowing, scrollToTop, userScrolled, } = useScroll(); useEffect(() => { if (!userScrolled) { scrollToBottom(); } }, [events]); return (
Chat All messages
sendMessage(text)} />
); }