accounts-frontend/src/components/profile/Profile.jsx

84 lines
3.1 KiB
React
Raw Normal View History

import React, { Component } from 'react';
2016-03-20 14:00:58 +05:30
import { FormattedMessage as Message, FormattedRelative as Relative, FormattedHTMLMessage as HTMLMessage } from 'react-intl';
import Helmet from 'react-helmet';
import { userShape } from 'components/user/User';
import ProfileField from './ProfileField';
import styles from './profile.scss';
2016-03-20 14:00:58 +05:30
import messages from './Profile.messages';
export class Profile extends Component {
static displayName = 'Profile';
static propTypes = {
user: userShape
};
render() {
const { user } = this.props;
return (
<div className={styles.container}>
2016-03-20 14:00:58 +05:30
<Message {...messages.accountPreferencesTitle}>
{(pageTitle) => (
<h2 className={styles.title}>
<Helmet title={pageTitle} />
{pageTitle}
</h2>
)}
</Message>
<div className={styles.content}>
<div className={styles.description}>
2016-03-20 14:00:58 +05:30
<Message {...messages.accountDescription} />
</div>
<div className={styles.options}>
<div className={styles.item}>
<h3 className={styles.optionsTitle}>
2016-03-20 14:00:58 +05:30
<Message {...messages.personalData} />
</h3>
<p className={styles.optionsDescription}>
2016-03-20 14:00:58 +05:30
<Message {...messages.preferencesDescription} />
</p>
</div>
<ProfileField
2016-03-20 14:00:58 +05:30
label={<Message {...messages.nickname} />}
value={user.username}
2016-03-20 14:00:58 +05:30
warningMessage={<Message {...messages.mojangPriorityWarning} />}
/>
<ProfileField
label={'E-mail'}
value={user.email}
/>
<ProfileField
2016-03-20 14:00:58 +05:30
label={<Message {...messages.password} />}
value={<Message {...messages.changedAt} values={{
at: (<Relative value={user.passwordChangedAt * 1000} />)
}} />}
warningMessage={user.shouldChangePassword ? (
2016-03-20 14:00:58 +05:30
<HTMLMessage {...messages.oldHashingAlgoWarning} />
) : ''}
/>
<ProfileField
2016-03-20 14:00:58 +05:30
label={<Message {...messages.twoFactorAuth} />}
value={<Message {...messages.disabled} />}
/>
<ProfileField
label={'UUID'}
value={user.uuid}
readonly
/>
</div>
</div>
</div>
);
}
}