"use client"; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { use } from 'react'; import '@/styles/Auth.css'; export default function ResetPasswordPage({ params }: { params: Promise<{ token: string }> }) { const { token } = use(params); const router = useRouter(); const [formData, setFormData] = useState({ password: '', confirmPassword: '', }); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const [success, setSuccess] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); if (formData.password !== formData.confirmPassword) { setError('Lösenorden matchar inte'); return; } setLoading(true); try { const res = await fetch('/api/auth/reset-password', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token, password: formData.password, }), }); const data = await res.json(); if (!res.ok) throw new Error(data.error || 'Något gick fel'); setSuccess(true); setTimeout(() => { router.push('/login'); }, 3000); } catch (err: unknown) { setError(err instanceof Error ? err.message : 'Ett oväntat fel uppstod'); } finally { setLoading(false); } }; return (
Ange ditt nya önskade lösenord nedan.
{success ? (