'use client';
import Button from '@/components/ui/Button';
import { updatePassword } from '@/utils/auth-helpers/server';
import { handleRequest } from '@/utils/auth-helpers/client';
import { useRouter } from 'next/navigation';
import React, { useState } from 'react';
interface UpdatePasswordProps {
redirectMethod: string;
}
export default function UpdatePassword({
redirectMethod
}: UpdatePasswordProps) {
const router = useRouter();
const [isSubmitting, setIsSubmitting] = useState(false);
const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
setIsSubmitting(true); // Disable the button while the request is being handled
await handleRequest(e, updatePassword, redirectMethod === 'client' ? router : null);
setIsSubmitting(false);
};
return (
<div className="my-8">
<form
noValidate={true}
className="mb-4"
onSubmit={(e) => handleSubmit(e)}
>
<div className="grid gap-2">
<div className="grid gap-1">
<label htmlFor="password">Нова парола</label>
<input
id="password"
placeholder="Парола"
type="password"
name="password"
autoComplete="current-password"
className="w-full p-3 rounded-md bg-zinc-800"
/>
<label htmlFor="passwordConfirm">Потвърдете новата парола</label>
<input
id="passwordConfirm"
placeholder="Парола"
type="password"
name="passwordConfirm"
autoComplete="current-password"
className="w-full p-3 rounded-md bg-zinc-800"
/>
</div>
<Button
variant="slim"
type="submit"
className="mt-1"
loading={isSubmitting}
>
Обнови парола
</Button>
</div>
</form>
</div>
);
}