"use client"; import { useState } from "react"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { changePassword } from "@/app/(protected)/dashboard/management/actions/changePassword"; export default function ChangePasswordPage() { const [oldPassword, setOldPassword] = useState(""); const [newPassword, setNewPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); const [showSuccess, setShowSuccess] = useState(false); const getPasswordStrength = (password: string) => { if (password.length < 6) return "weak"; if (/[A-Za-z]/.test(password) && /\d/.test(password)) return "medium"; return "strong"; }; const strengthText = getPasswordStrength(newPassword); let strengthColor = ""; let strengthLabel = ""; switch (strengthText) { case "weak": strengthColor = "bg-red-500"; strengthLabel = "弱"; break; case "medium": strengthColor = "bg-yellow-500"; strengthLabel = "中等"; break; case "strong": strengthColor = "bg-green-500"; strengthLabel = "强"; break; } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (newPassword !== confirmPassword) { alert("两次输入的密码不一致!"); return; } const formData = new FormData(); formData.append("oldPassword", oldPassword); formData.append("newPassword", newPassword); try { await changePassword(formData); setShowSuccess(true); setTimeout(() => setShowSuccess(false), 3000); } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : "修改密码失败"; alert(errorMessage); } }; return (