diff --git a/app/[locale]/feedback/page.tsx b/app/[locale]/feedback/page.tsx new file mode 100644 index 0000000..d11ac02 --- /dev/null +++ b/app/[locale]/feedback/page.tsx @@ -0,0 +1,153 @@ +"use client"; + +import { useState } from "react"; +import { useTranslation } from "@/i18n/navigation"; +import Footer from "@/app/components/Footer"; + +export default function FeedbackPage() { + const { t } = useTranslation("feedback"); + const [submitted, setSubmitted] = useState(false); + const [form, setForm] = useState({ + type: "suggestion" as "suggestion" | "bug", + email: "", + title: "", + content: "", + }); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + setSubmitted(true); + }; + + return ( +
+
+
+

+ + {t("title")} +

+

+ {t("subtitle")} +

+
+ + {submitted ? ( +
+ 🙏 +

+ {t("successTitle")} +

+

+ {t("successDesc")} +

+ +
+ ) : ( +
+
+ +
+ + +
+
+ +
+ + setForm((f) => ({ ...f, email: e.target.value }))} + placeholder={t("emailPlaceholder")} + className="w-full px-4 py-3 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-[#ff4d4f]/20 focus:border-[#ff4d4f]" + /> +
+ +
+ + setForm((f) => ({ ...f, title: e.target.value }))} + placeholder={t("titlePlaceholder")} + className="w-full px-4 py-3 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-[#ff4d4f]/20 focus:border-[#ff4d4f]" + /> +
+ +
+ +