'use client'; import * as React from 'react'; import Image from 'next/image'; import { Loader2 } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@/components/ui/card'; import { authService } from '@/services/auth'; import { errorMessage } from '@/lib/error-message'; export default function ChangePasswordPage() { const [current, setCurrent] = React.useState(''); const [next, setNext] = React.useState(''); const [confirm, setConfirm] = React.useState(''); const [loading, setLoading] = React.useState(false); const [error, setError] = React.useState(null); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setError(null); if (next !== confirm) { setError('As senhas não coincidem.'); return; } setLoading(true); try { await authService.changePassword(current, next); window.location.href = '/'; } catch (err) { setError(errorMessage(err)); } finally { setLoading(false); } } return (
B2BCall Troca de senha obrigatória Defina uma nova senha para continuar utilizando o sistema.
setCurrent(e.target.value)} />
setNext(e.target.value)} />
setConfirm(e.target.value)} />
{error &&

{error}

}
); }