import PrimaryButton from "@/components/button/PrimaryButton"; import SecondaryButton from "@/components/button/SecondaryButton"; import PasswordInput from "@/components/input/PasswordInput"; import RaidBuilderModal from "@/components/modal/RaidBuilderModal"; import { useResetPassword } from "@/hooks/AccountHooks"; import { Account } from "@/interface/Account"; import { useTimedModal } from "@/providers/TimedModalProvider"; import { useEffect, useState } from "react"; export default function AccountPasswordRestModal({ display, close, account }:{ display: boolean; close: () => void; account: Account | undefined; }){ const [ newPassword, setNewPassword ] = useState(""); const { addSuccessMessage, addErrorMessage } = useTimedModal(); const passwordResetMutate = useResetPassword(account?.accountId ?? ""); const modalId = crypto.randomUUID().replace("-", ""); const resetPassword = () => { passwordResetMutate.mutate(newPassword); } useEffect(() => { if(passwordResetMutate.isSuccess){ passwordResetMutate.reset(); addSuccessMessage(`Successfully reset password for ${account?.username}`); close(); } else if(passwordResetMutate.isError){ passwordResetMutate.reset(); addErrorMessage(`Failed to reset password for ${account?.username}: ${passwordResetMutate.error.message}`); console.log(passwordResetMutate.error); } }); return (
Enter new password for {account?.username}.
setNewPassword(e.target.value)} placeholder="Password" /> } modalFooter={ <> Reset Cancel } /> ); }