"use client";
import { useChat } from "@livekit/components-react";
import { useState } from "react";
import { Send, User } from "lucide-react";
interface StreamChatProps {
roomName?: string;
}
export function StreamChat({ roomName }: StreamChatProps) {
const [message, setMessage] = useState("");
const [isOpen, setIsOpen] = useState(false);
const { send, chatMessages, isSending } = useChat();
const handleSend = () => {
if (!message.trim()) return;
send?.(message);
setMessage("");
};
return (
Stream Chat
{isOpen && (
{chatMessages.map((msg, index) => {
const m = msg as any;
return (
{m.author?.name || "Unknown"}
{m.message}
{new Date(m.timestamp || 0).toLocaleTimeString()}
);
})}
{chatMessages.length === 0 && (
No messages yet
)}
)}
setMessage(e.target.value)}
placeholder="Type a message..."
className="flex-1 h-8 rounded-md border border-input bg-input px-3 text-sm"
disabled={!isOpen}
/>
);
}