oak-general-business/es/components/user/password/update/web.js

35 lines
1.6 KiB
JavaScript

import React from "react";
import { Form, Input, Button, Result, } from 'antd-mobile';
import Verify from '../verify';
import Styles from './mobile.module.less';
export default function Render(props) {
const { once, pwd, again, error, successful, needVerifyPassword } = props.data;
const { t, setPwd, setAgain, commit, onConfirm } = props.methods;
if (needVerifyPassword) {
return (<Verify />);
}
if (successful) {
return (<div className={Styles.container2}>
<Result status='success' title={t('success.title')} description={t('success.desc')}/>
<Button color="primary" onClick={onConfirm}>
{t('common::action.confirm')}
</Button>
</div>);
}
return (<div className={Styles.container}>
<Form>
<Form.Header>{t('header')}</Form.Header>
<Form.Item label={t('label.pwd')} required={true}>
<Input autoFocus onChange={setPwd} type="password" placeholder={t('placeholder.pwd')} value={pwd} maxLength={32} clearable/>
</Form.Item>
{!once && <Form.Item label={t('label.again')}>
<Input onChange={setAgain} type="password" placeholder={t('placeholder.again')} value={again} clearable/>
</Form.Item>}
</Form>
<div style={{ flex: 1 }}/>
<Button color={error ? "danger" : "primary"} block onClick={commit} disabled={!!error}>
{error || t('common::action.confirm')}
</Button>
</div>);
}