"use client" import { useState, Suspense } from "react" import { useRouter, useSearchParams } from "next/navigation" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" const API_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:5000/api'; function ResetPasswordForm() { const router = useRouter() const searchParams = useSearchParams() const token = searchParams.get("token") const [password, setPassword] = useState("") const [confirmPassword, setConfirmPassword] = useState("") const [status, setStatus] = useState<"idle" | "loading" | "success" | "error">("idle") const [errorMessage, setErrorMessage] = useState("") const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (password !== confirmPassword) { setErrorMessage("Passwords do not match") return } if (!token) { setErrorMessage("Missing reset token") return } setStatus("loading") setErrorMessage("") try { const res = await fetch(`${API_URL}/auth/reset-password`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ token, password }), }) const data = await res.json() if (res.ok) { setStatus("success") setTimeout(() => { router.push("/admin/login") }, 2000) } else { setStatus("error") setErrorMessage(data.error || "Failed to reset password") } } catch (error) { setStatus("error") setErrorMessage("An error occurred") } } if (!token) { return (