diff --git a/src/components/profile/Profile.jsx b/src/components/profile/Profile.jsx index 45026cd..27e2272 100644 --- a/src/components/profile/Profile.jsx +++ b/src/components/profile/Profile.jsx @@ -1,12 +1,13 @@ import React, { Component } from 'react'; -import { FormattedMessage as Message, FormattedRelative as Relative } from 'react-intl'; +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'; +import messages from './Profile.messages'; export class Profile extends Component { static displayName = 'Profile'; @@ -17,36 +18,36 @@ export class Profile extends Component { render() { const { user } = this.props; - const pageTitle = 'Настройки аккаунта Ely.by'; - return (
- -

- {pageTitle} -

+ + {(pageTitle) => ( +

+ + {pageTitle} +

+ )} +
- Благодаря аккаунту Ely.by вы можете получить доступ ко многим ресурсам, связанным с Minecraft. - Берегите свой аккаунт, используйте надёжный пароль и регулярно его меняйте. +

- Персональные данные +

- Здесь вы можете сменить ключевые параметры вашего аккаунта. Обратите внимание, что для - всех действий необходимо подтверждение при помощи ввода пароля. +

} value={user.username} - warningMessage={'Найден аккаунт Mojang с таким же ником и, по правилам проекта, его владелец вправе потребовать восстановления контроля над ником.'} + warningMessage={} /> Изменён } + label={} + value={) + }} />} warningMessage={user.shouldChangePassword ? ( - - Для пароля применяется старый алгоритм хэширования
- Пожалуйста, смените пароль. -
+ ) : ''} /> } + value={} /> Please, change password.' + // defaultMessage: 'Для пароля применяется старый алгоритм хэширования
Пожалуйста, смените пароль.' + }, + changedAt: { + id: 'changedAt', + defaultMessage: 'Changed {at}' + // defaultMessage: 'Изменен {at}' + }, + disabled: { + id: 'disabled', + defaultMessage: 'Disabled' + // defaultMessage: 'Не включена' + }, + nickname: { + id: 'nickname', + defaultMessage: 'Nickname' + // defaultMessage: 'Ник' + }, + password: { + id: 'password', + defaultMessage: 'Password' + // defaultMessage: 'Пароль' + }, + twoFactorAuth: { + id: 'twoFactorAuth', + defaultMessage: 'Two factor auth' + // defaultMessage: 'Двухфакторная аутентификация' + } +}); diff --git a/src/components/profile/ProfileField.jsx b/src/components/profile/ProfileField.jsx index 21dafb8..9021af2 100644 --- a/src/components/profile/ProfileField.jsx +++ b/src/components/profile/ProfileField.jsx @@ -5,7 +5,7 @@ import styles from './profile.scss'; export default class ProfileField extends Component { static displayName = 'ProfileField'; static propTypes = { - label: PropTypes.string.isRequired, + label: React.PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired, value: React.PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired, warningMessage: React.PropTypes.oneOfType([PropTypes.string, PropTypes.element]), readonly: PropTypes.bool