"use client"
import { useState } from "react"
import { Send, X, Minimize2, Maximize2 } from "lucide-react"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { useOverlayContext } from "./overlay-context"
import { ScrollArea } from "@/components/ui/scroll-area"
interface ChatBotProps {
onClose: () => void
}
export function ChatBot({ onClose }: ChatBotProps) {
const { overlays, minimizeOverlay, maximizeOverlay } = useOverlayContext()
const isMinimized = overlays.chat.minimized
const [message, setMessage] = useState("")
const [chatHistory, setChatHistory] = useState([{ role: "bot", content: "Hi! How can I help you today?" }])
const handleSendMessage = () => {
if (!message.trim()) return
// Add user message to chat
setChatHistory([...chatHistory, { role: "user", content: message }])
// Simulate bot response (in a real app, this would call an API)
setTimeout(() => {
setChatHistory((prev) => [
...prev,
{
role: "bot",
content: "I can provide information about this area. What would you like to know?",
},
])
}, 1000)
setMessage("")
}
if (isMinimized) {
return (
ChatBot
)
}
return (
ChatBot
{chatHistory.map((chat, index) => (
{chat.content}
))}
setMessage(e.target.value)}
placeholder="Type your message..."
className="flex-1"
onKeyDown={(e) => {
if (e.key === "Enter") {
handleSendMessage()
}
}}
/>