mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-11-10 01:52:04 +05:30
84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
import React from 'react';
|
|
import { FormattedMessage as Message } from 'react-intl';
|
|
import { Link } from 'react-router-dom';
|
|
import { Input, Checkbox, Captcha } from 'app/components/ui/form';
|
|
import BaseAuthBody from 'app/components/auth/BaseAuthBody';
|
|
|
|
import passwordMessages from '../password/Password.intl.json';
|
|
import styles from '../auth.scss';
|
|
import messages from './Register.intl.json';
|
|
|
|
// TODO: password and username can be validate for length and sameness
|
|
|
|
export default class RegisterBody extends BaseAuthBody {
|
|
static panelId = 'register';
|
|
|
|
autoFocusField = 'username';
|
|
|
|
render() {
|
|
return (
|
|
<div>
|
|
{this.renderErrors()}
|
|
|
|
<Input
|
|
{...this.bindField('username')}
|
|
icon="user"
|
|
color="blue"
|
|
type="text"
|
|
required
|
|
placeholder={messages.yourNickname}
|
|
/>
|
|
|
|
<Input
|
|
{...this.bindField('email')}
|
|
icon="envelope"
|
|
color="blue"
|
|
type="email"
|
|
required
|
|
placeholder={messages.yourEmail}
|
|
/>
|
|
|
|
<Input
|
|
{...this.bindField('password')}
|
|
icon="key"
|
|
color="blue"
|
|
type="password"
|
|
required
|
|
placeholder={passwordMessages.accountPassword}
|
|
/>
|
|
|
|
<Input
|
|
{...this.bindField('rePassword')}
|
|
icon="key"
|
|
color="blue"
|
|
type="password"
|
|
required
|
|
placeholder={messages.repeatPassword}
|
|
/>
|
|
|
|
<Captcha {...this.bindField('captcha')} delay={600} />
|
|
|
|
<div className={styles.checkboxInput}>
|
|
<Checkbox
|
|
{...this.bindField('rulesAgreement')}
|
|
color="blue"
|
|
required
|
|
label={
|
|
<Message
|
|
{...messages.acceptRules}
|
|
values={{
|
|
link: (
|
|
<Link to="/rules" target="_blank">
|
|
<Message {...messages.termsOfService} />
|
|
</Link>
|
|
),
|
|
}}
|
|
/>
|
|
}
|
|
/>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|