"use client"; import { useMemo, useState } from "react"; import { Sparkles, MessageCircle, X, Send } from "lucide-react"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; const cannedSuggestions = [ "Como remarcar minha consulta?", "Quais documentos preciso levar?", "Quero falar com suporte humano", ]; const supportAvailability = { title: "Equipe disponível", description: "Seg–Sex das 08h às 18h", }; interface ChatMessage { id: string; author: "assistant" | "user"; text: string; timestamp: string; } export function ChatWidget() { const [open, setOpen] = useState(false); const [input, setInput] = useState(""); const [messages, setMessages] = useState(() => [ { id: "welcome", author: "assistant", text: "Olá! Sou sua assistente virtual. Posso ajudar a acompanhar consultas, exames e suporte geral.", timestamp: new Date().toISOString(), }, ]); const toggle = () => setOpen((prev) => !prev); const handleSend = () => { const trimmed = input.trim(); if (!trimmed) return; const now = new Date().toISOString(); setMessages((prev) => [ ...prev, { id: `user-${now}`, author: "user", text: trimmed, timestamp: now }, { id: `assistant-${now}`, author: "assistant", text: "Recebi sua mensagem! Nossa equipe retornará em breve.", timestamp: now, }, ]); setInput(""); }; const gradientRing = useMemo( () => ( ), [] ); return (
{open && (

Assistente RiseUp

Pronta para ajudar no que você precisar

{messages.map((message) => (
{message.author === "assistant" ? : }
{message.text}
))}

{supportAvailability.title}

{supportAvailability.description}

{cannedSuggestions.map((suggestion) => ( ))}
setInput(event.target.value)} placeholder="Escreva sua mensagem" className="border-none px-0 text-sm focus-visible:ring-0" onKeyDown={(event) => { if (event.key === "Enter") { event.preventDefault(); handleSend(); } }} />
)}
); }