mirror of
https://github.com/elyby/accounts-frontend.git
synced 2025-02-28 21:22:52 +05:30
Добавлена адаптивность для форм в профиле
Внесены правки в логику формирования разнонаправленных стрелок Логика стрелки "назад" для форм профиля вынесена в отдельный компонент
This commit is contained in:
parent
1248834cb0
commit
4fdb045f24
3
src/components/profile/ProfileForm.intl.json
Normal file
3
src/components/profile/ProfileForm.intl.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"back": "Back"
|
||||||
|
}
|
25
src/components/profile/ProfileForm.jsx
Normal file
25
src/components/profile/ProfileForm.jsx
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import React, { Component } from 'react';
|
||||||
|
|
||||||
|
import { FormattedMessage as Message } from 'react-intl';
|
||||||
|
import { Link } from 'react-router';
|
||||||
|
|
||||||
|
import FormComponent from 'components/ui/form/FormComponent';
|
||||||
|
|
||||||
|
import styles from 'components/profile/profileForm.scss';
|
||||||
|
|
||||||
|
import messages from './ProfileForm.intl.json';
|
||||||
|
|
||||||
|
export class BackButton extends FormComponent {
|
||||||
|
static displayName = 'BackButton';
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Link className={styles.backButton} to="/" title={this.formatMessage(messages.back)}>
|
||||||
|
<span className={styles.backIcon} />
|
||||||
|
<span className={styles.backText}>
|
||||||
|
<Message {...messages.back} />
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -7,6 +7,7 @@ import Helmet from 'react-helmet';
|
|||||||
import { Motion, spring } from 'react-motion';
|
import { Motion, spring } from 'react-motion';
|
||||||
|
|
||||||
import { Input, Button, Form, FormModel } from 'components/ui/form';
|
import { Input, Button, Form, FormModel } from 'components/ui/form';
|
||||||
|
import { BackButton } from 'components/profile/ProfileForm';
|
||||||
import styles from 'components/profile/profileForm.scss';
|
import styles from 'components/profile/profileForm.scss';
|
||||||
import helpLinks from 'components/auth/helpLinks.scss';
|
import helpLinks from 'components/auth/helpLinks.scss';
|
||||||
import MeasureHeight from 'components/MeasureHeight';
|
import MeasureHeight from 'components/MeasureHeight';
|
||||||
@ -73,7 +74,7 @@ export default class ChangeEmail extends Component {
|
|||||||
onInvalid={() => this.forceUpdate()}
|
onInvalid={() => this.forceUpdate()}
|
||||||
>
|
>
|
||||||
<div className={styles.contentWithBackButton}>
|
<div className={styles.contentWithBackButton}>
|
||||||
<Link className={styles.backButton} to="/" />
|
<BackButton />
|
||||||
|
|
||||||
<div className={styles.form}>
|
<div className={styles.form}>
|
||||||
<div className={styles.formBody}>
|
<div className={styles.formBody}>
|
||||||
|
@ -5,6 +5,7 @@ import { Link } from 'react-router';
|
|||||||
import Helmet from 'react-helmet';
|
import Helmet from 'react-helmet';
|
||||||
|
|
||||||
import { Input, Button, Checkbox, Form, FormModel } from 'components/ui/form';
|
import { Input, Button, Checkbox, Form, FormModel } from 'components/ui/form';
|
||||||
|
import { BackButton } from 'components/profile/ProfileForm';
|
||||||
|
|
||||||
import styles from 'components/profile/profileForm.scss';
|
import styles from 'components/profile/profileForm.scss';
|
||||||
import messages from './ChangePassword.intl.json';
|
import messages from './ChangePassword.intl.json';
|
||||||
@ -31,7 +32,7 @@ export default class ChangePassword extends Component {
|
|||||||
form={form}
|
form={form}
|
||||||
>
|
>
|
||||||
<div className={styles.contentWithBackButton}>
|
<div className={styles.contentWithBackButton}>
|
||||||
<Link className={styles.backButton} to="/" />
|
<BackButton />
|
||||||
|
|
||||||
<div className={styles.form}>
|
<div className={styles.form}>
|
||||||
<div className={styles.formBody}>
|
<div className={styles.formBody}>
|
||||||
|
@ -5,6 +5,7 @@ import { Link } from 'react-router';
|
|||||||
import Helmet from 'react-helmet';
|
import Helmet from 'react-helmet';
|
||||||
|
|
||||||
import { Input, Button, Form, FormModel } from 'components/ui/form';
|
import { Input, Button, Form, FormModel } from 'components/ui/form';
|
||||||
|
import { BackButton } from 'components/profile/ProfileForm';
|
||||||
import styles from 'components/profile/profileForm.scss';
|
import styles from 'components/profile/profileForm.scss';
|
||||||
|
|
||||||
import messages from './ChangeUsername.intl.json';
|
import messages from './ChangeUsername.intl.json';
|
||||||
@ -25,7 +26,6 @@ export default class ChangeUsername extends Component {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {form, username} = this.props;
|
const {form, username} = this.props;
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ export default class ChangeUsername extends Component {
|
|||||||
form={form}
|
form={form}
|
||||||
>
|
>
|
||||||
<div className={styles.contentWithBackButton}>
|
<div className={styles.contentWithBackButton}>
|
||||||
<Link className={styles.backButton} to="/" />
|
<BackButton />
|
||||||
|
|
||||||
<div className={styles.form}>
|
<div className={styles.form}>
|
||||||
<div className={styles.formBody}>
|
<div className={styles.formBody}>
|
||||||
|
@ -3,31 +3,38 @@
|
|||||||
|
|
||||||
.contentWithBackButton {
|
.contentWithBackButton {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 400px;
|
max-width: 400px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.backButton {
|
.backButton {
|
||||||
composes: arrow from 'components/ui/icons.scss';
|
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -60px;
|
left: -60px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
|
font-size: 25px;
|
||||||
transform: rotate(90deg);
|
|
||||||
transition: .3s;
|
|
||||||
|
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 25px;
|
|
||||||
|
transition: .3s;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #9a9a9a;
|
color: #9a9a9a;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.backIcon {
|
||||||
|
composes: arrowLeft from 'components/ui/icons.scss';
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backText {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.form {
|
.form {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
overflow: hidden; // disable margin collapsing
|
overflow: hidden; // disable margin collapsing
|
||||||
@ -75,3 +82,29 @@
|
|||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
margin-top: 25px;
|
margin-top: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 525px) {
|
||||||
|
.contentWithBackButton .title {
|
||||||
|
padding-top: 23px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backButton {
|
||||||
|
top: 29px;
|
||||||
|
left: 27px;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
z-index: 1;
|
||||||
|
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backIcon {
|
||||||
|
bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backText {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,20 +1,24 @@
|
|||||||
@import '~icons.font.json';
|
@import '~icons.font.json';
|
||||||
|
|
||||||
.arrowLeft {
|
// По умолчанию стрелка смотрит вниз, это просто алиас
|
||||||
composes: arrow;
|
.arrowBottom {
|
||||||
|
@extend .arrow;
|
||||||
display: inline-block;
|
|
||||||
transform: rotate(90deg);
|
|
||||||
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.arrowTop {
|
.arrowTop {
|
||||||
composes: arrow;
|
@extend .arrow;
|
||||||
|
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.arrowBottom {
|
.arrowRight {
|
||||||
composes: arrow;
|
@extend .arrow;
|
||||||
|
|
||||||
|
transform: rotate(270deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.arrowLeft {
|
||||||
|
@extend .arrow;
|
||||||
|
|
||||||
|
transform: rotate(90deg);
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
"components.langMenu.siteLanguage": "Site language",
|
"components.langMenu.siteLanguage": "Site language",
|
||||||
"components.profile.accountDescription": "Ely.by account allows you to get access to many Minecraft resources. Please, take care of your account safety. Use secure password and change it regularly.",
|
"components.profile.accountDescription": "Ely.by account allows you to get access to many Minecraft resources. Please, take care of your account safety. Use secure password and change it regularly.",
|
||||||
"components.profile.accountPreferencesTitle": "Ely.by account preferences",
|
"components.profile.accountPreferencesTitle": "Ely.by account preferences",
|
||||||
|
"components.profile.back": "Back",
|
||||||
"components.profile.changeEmail.alreadyReceivedCode": "Already received code",
|
"components.profile.changeEmail.alreadyReceivedCode": "Already received code",
|
||||||
"components.profile.changeEmail.changeEmailButton": "Change E‑mail",
|
"components.profile.changeEmail.changeEmailButton": "Change E‑mail",
|
||||||
"components.profile.changeEmail.changeEmailDescription": "To change current account E‑mail you must first verify that you own the current address and then confirm the new one.",
|
"components.profile.changeEmail.changeEmailDescription": "To change current account E‑mail you must first verify that you own the current address and then confirm the new one.",
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
"components.langMenu.siteLanguage": "Язык сайта",
|
"components.langMenu.siteLanguage": "Язык сайта",
|
||||||
"components.profile.accountDescription": "Благодаря аккаунту Ely.by вы можете получить доступ ко многим ресурсам, связанным с Minecraft. Берегите свой аккаунт, используйте надёжный пароль и регулярно его меняйте.",
|
"components.profile.accountDescription": "Благодаря аккаунту Ely.by вы можете получить доступ ко многим ресурсам, связанным с Minecraft. Берегите свой аккаунт, используйте надёжный пароль и регулярно его меняйте.",
|
||||||
"components.profile.accountPreferencesTitle": "Настройки аккаунта Ely.by",
|
"components.profile.accountPreferencesTitle": "Настройки аккаунта Ely.by",
|
||||||
|
"components.profile.back": "Назад",
|
||||||
"components.profile.changeEmail.alreadyReceivedCode": "Я уже получил код",
|
"components.profile.changeEmail.alreadyReceivedCode": "Я уже получил код",
|
||||||
"components.profile.changeEmail.changeEmailButton": "Сменить E‑mail",
|
"components.profile.changeEmail.changeEmailButton": "Сменить E‑mail",
|
||||||
"components.profile.changeEmail.changeEmailDescription": "Для смены E‑mail адреса аккаунта сперва необходимо подтвердить владение текущим адресом, а за тем привязать новый.",
|
"components.profile.changeEmail.changeEmailDescription": "Для смены E‑mail адреса аккаунта сперва необходимо подтвердить владение текущим адресом, а за тем привязать новый.",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user