import { useState } from "react"; import { useLocation } from "react-router-dom"; import { api } from "../lib/api.js"; export function FeedbackWidget() { const location = useLocation(); const [open, setOpen] = useState(false); const [message, setMessage] = useState(""); const [email, setEmail] = useState(""); const [rating, setRating] = useState(null); const [status, setStatus] = useState<"idle" | "sending" | "sent" | "error">("idle"); function reset() { setMessage(""); setEmail(""); setRating(null); setStatus("idle"); } async function submit() { if (!message.trim()) return; setStatus("sending"); try { await api.sendFeedback({ message: message.trim(), email: email.trim() || undefined, rating: rating ?? undefined, page: location.pathname, }); setStatus("sent"); } catch { setStatus("error"); } } return ( <> {open && (
{status === "sent" ? (

Obrigado pelo feedback! 🙏

) : ( <>

Enviar feedback

{[1, 2, 3, 4, 5].map((n) => ( ))}