"use client"; import { useState } from "react"; import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { useTranslations } from "next-intl"; import { useLocale, SUPPORTED_LOCALES, type Locale } from "@/lib/i18n/provider"; type UserProps = { name: string; email: string; image: string | null; locale: string; }; export function SettingsForm({ user }: { user: UserProps }) { const t = useTranslations("settingsForm"); const t_common = useTranslations("common"); const { setLocale } = useLocale(); const [name, setName] = useState(user.name); const [saving, setSaving] = useState(false); async function saveProfile() { setSaving(true); try { const res = await fetch("/api/v1/users/me", { method: "PATCH", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name }), }); if (res.ok) toast.success(t_common("saved")); else toast.error(t_common("saveFailed")); } finally { setSaving(false); } } return (
{t("languageDescription")}