"use client"; import { useState } from "react"; import { useToast } from "@/lib/toast"; const TYPES = [ { key: "idea", label: "💡 想法" }, { key: "bug", label: "🐛 问题" }, { key: "love", label: "❤️ 喜欢" }, ]; export default function FeedbackWidget() { const { toast } = useToast(); const [open, setOpen] = useState(false); const [type, setType] = useState("idea"); const [msg, setMsg] = useState(""); const [sending, setSending] = useState(false); const submit = async (e: React.FormEvent) => { e.preventDefault(); if (!msg.trim()) return; setSending(true); // Persist locally for demo; can wire to API later try { const key = "nomadro-feedback"; const prev = JSON.parse(localStorage.getItem(key) || "[]"); prev.push({ type, msg: msg.trim(), at: new Date().toISOString() }); localStorage.setItem(key, JSON.stringify(prev.slice(-50))); toast("感谢反馈!我们会认真看的 🙏"); setMsg(""); setOpen(false); } finally { setSending(false); } }; return ( <> {open && (
e.target === e.currentTarget && setOpen(false)}>
💬 FEEDBACK

给 nomadro 提建议

功能想法、体验问题,或只是想说喜欢

{TYPES.map((t) => ( ))}