mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-27 15:30:37 +05:30
Прокидывание кода и стейта в title и hash
This commit is contained in:
parent
e0d93c3058
commit
bd9635fc12
@ -3,6 +3,7 @@ import React, { Component, PropTypes } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { FormattedMessage as Message } from 'react-intl';
|
||||
import classNames from 'classnames';
|
||||
import Helmet from 'react-helmet';
|
||||
|
||||
import buttons from 'components/ui/buttons.scss';
|
||||
|
||||
@ -23,36 +24,20 @@ class Finish extends Component {
|
||||
isCopySupported: document.queryCommandSupported && document.queryCommandSupported('copy')
|
||||
};
|
||||
|
||||
handleCopyClick = (event) => {
|
||||
event.preventDefault();
|
||||
// http://stackoverflow.com/a/987376/5184751
|
||||
|
||||
try {
|
||||
const selection = window.getSelection();
|
||||
const range = document.createRange();
|
||||
range.selectNodeContents(this.code);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
const successful = document.execCommand('copy');
|
||||
selection.removeAllRanges();
|
||||
|
||||
// TODO: было бы ещё неплохо сделать какую-то анимацию, вроде "Скопировано",
|
||||
// ибо сейчас после клика как-то неубедительно, скопировалось оно или нет
|
||||
console.log('Copying text command was ' + (successful ? 'successful' : 'unsuccessful'));
|
||||
} catch (err) {}
|
||||
};
|
||||
|
||||
setCode = (el) => {
|
||||
this.code = el;
|
||||
};
|
||||
|
||||
render() {
|
||||
const {appName, code, displayCode, success} = this.props;
|
||||
const {appName, code, state, displayCode, success} = this.props;
|
||||
const {isCopySupported} = this.state;
|
||||
const authData = JSON.stringify({
|
||||
auth_code: code,
|
||||
state: state
|
||||
});
|
||||
|
||||
history.pushState(null, null, `#${authData}`);
|
||||
|
||||
return (
|
||||
<div className={styles.finishPage}>
|
||||
<Helmet title={authData} />
|
||||
|
||||
{success ? (
|
||||
<div>
|
||||
<div className={styles.successBackground}></div>
|
||||
@ -102,11 +87,36 @@ class Finish extends Component {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
handleCopyClick = (event) => {
|
||||
event.preventDefault();
|
||||
// http://stackoverflow.com/a/987376/5184751
|
||||
|
||||
try {
|
||||
const selection = window.getSelection();
|
||||
const range = document.createRange();
|
||||
range.selectNodeContents(this.code);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
const successful = document.execCommand('copy');
|
||||
selection.removeAllRanges();
|
||||
|
||||
// TODO: было бы ещё неплохо сделать какую-то анимацию, вроде "Скопировано",
|
||||
// ибо сейчас после клика как-то неубедительно, скопировалось оно или нет
|
||||
console.log('Copying text command was ' + (successful ? 'successful' : 'unsuccessful'));
|
||||
} catch (err) {}
|
||||
};
|
||||
|
||||
setCode = (el) => {
|
||||
this.code = el;
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(({auth}) => ({
|
||||
appName: auth.client.name,
|
||||
code: auth.oauth.code,
|
||||
displayCode: auth.oauth.displayCode,
|
||||
state: auth.oauth.state,
|
||||
success: auth.oauth.success
|
||||
}))(Finish);
|
||||
|
Loading…
Reference in New Issue
Block a user