"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { z } from "zod"; import { Button } from "@/components/ui/button"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { toast } from "@/components/ui/use-toast"; import { Card, CardContent, CardHeader, CardTitle } from "./ui/card"; import { Separator } from "./ui/separator"; const profileFormSchema = z.object({ currentPassword: z.string().trim().min(6, { message: "Password must be at least 6 characters.", }), newPassword: z.string().trim().min(6, { message: "Password must be at least 6 characters.", }), confirmPassword: z.string().trim().min(6, { message: "Password must be at least 6 characters.", }), }); type ProfileFormValues = z.infer; const defaultValues: Partial = { currentPassword: "", newPassword: "", confirmPassword: "", }; export default function ChangePasswordForm() { const form = useForm({ resolver: zodResolver(profileFormSchema), defaultValues, mode: "onChange", }); function onSubmit(data: ProfileFormValues) { if (data.newPassword !== data.confirmPassword) { toast({ variant: "destructive", title: "New Password and Confirm Password don't match!", }); return; } toast({ title: "You submitted the following values:", description: (
          {JSON.stringify(data, null, 2)}
        
), }); form.reset(); } return ( Change Password
( Current Password )} /> ( New Password )} /> ( Confirm New Password )} />
); }