"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { useForm } from "react-hook-form" import { zodResolver } from "@hookform/resolvers/zod" import * as z from "zod" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { toast } from "sonner" import { Loader2 } from "lucide-react" import { supabase } from "@/lib/supabase" const passwordSchema = z.object({ password: z.string().min(6, "Şifre en az 6 karakter olmalıdır."), confirmPassword: z.string().min(6, "Şifre tekrarı en az 6 karakter olmalıdır."), }).refine((data) => data.password === data.confirmPassword, { message: "Şifreler eşleşmiyor.", path: ["confirmPassword"], }) type PasswordFormValues = z.infer export function PasswordForm() { const router = useRouter() const [loading, setLoading] = useState(false) const form = useForm({ resolver: zodResolver(passwordSchema), defaultValues: { password: "", confirmPassword: "", }, }) const onSubmit = async (data: PasswordFormValues) => { setLoading(true) try { const { error } = await supabase.auth.updateUser({ password: data.password }) if (error) { toast.error("Şifre güncellenemedi: " + error.message) return } toast.success("Şifreniz başarıyla güncellendi.") form.reset() router.refresh() } catch (error) { toast.error("Bir sorun oluştu.") } finally { setLoading(false) } } return ( Yeni Şifre Belirle Hesabınız için yeni bir şifre belirleyin.
( Yeni Şifre )} /> ( Şifre Tekrar )} />
) }