import React, { useState } from 'react' import { hot } from 'react-hot-loader/root' import { t } from '@/scripts/i18n' import * as fetch from '@/scripts/net' import { toast } from '@/scripts/notify' import urls from '@/scripts/urls' import Alert from '@/components/Alert' const Reset: React.FC = () => { const [password, setPassword] = useState('') const [confirmation, setConfirmation] = useState('') const [warningMessage, setWarningMessage] = useState('') const [isPending, setIsPending] = useState(false) const handlePasswordChange = (event: React.ChangeEvent) => { setPassword(event.target.value) } const handleConfirmationChange = ( event: React.ChangeEvent, ) => { setConfirmation(event.target.value) } const handleSubmit = async (event: React.FormEvent) => { event.preventDefault() if (password !== confirmation) { setWarningMessage(t('auth.invalidConfirmPwd')) return } setIsPending(true) const { code, message } = await fetch.post( location.href.replace(blessing.base_url, ''), { password }, ) if (code === 0) { toast.success(message) setTimeout(() => { window.location.href = blessing.base_url + urls.auth.login() }, 2000) } else { setWarningMessage(message) setIsPending(false) } } return (
{warningMessage}
) } export default hot(Reset)