accounts-frontend/packages/app/pages/auth/SuccessOauthPage.tsx

84 lines
2.7 KiB
TypeScript
Raw Permalink Normal View History

2019-12-07 16:58:52 +05:30
import React from 'react';
import { Link } from 'react-router-dom';
import { FormattedMessage as Message } from 'react-intl';
import { Helmet } from 'react-helmet-async';
import * as loader from 'app/services/loader';
import { Query } from 'app/services/request';
import siteName from 'app/pages/root/siteName.intl';
import styles from './success-oauth.scss';
2019-12-07 16:58:52 +05:30
export default class SuccessOauthPage extends React.Component<{
2020-05-24 04:38:24 +05:30
location: {
query: Query<'appName'>;
};
2017-08-23 02:01:41 +05:30
}> {
2020-05-24 04:38:24 +05:30
componentDidMount() {
this.onPageUpdate();
2020-05-24 04:38:24 +05:30
setTimeout(() => {
try {
// try to close window if possible
// @ts-ignore
window.open('', '_self').close();
} catch (err) {
// don't care
}
}, 8000);
}
2020-05-24 04:38:24 +05:30
componentDidUpdate() {
this.onPageUpdate();
}
2020-05-24 04:38:24 +05:30
onPageUpdate() {
loader.hide();
}
2020-05-24 04:38:24 +05:30
render() {
const appName = this.props.location.query.get('appName');
2020-05-24 04:38:24 +05:30
return (
<div className={styles.page}>
<Message key="title" defaultMessage="Authorization successful">
{(pageTitle) => <Helmet title={pageTitle as string} />}
</Message>
2020-05-24 04:38:24 +05:30
<div className={styles.wrapper}>
<Link to="/" className={styles.logo}>
<Message {...siteName} />
2020-05-24 04:38:24 +05:30
</Link>
2020-05-24 04:38:24 +05:30
<div className={styles.title}>
<Message key="applicationAuth" defaultMessage="Application authorization" />
2020-05-24 04:38:24 +05:30
</div>
2020-05-24 04:38:24 +05:30
<div className={styles.checkmark} />
2020-05-24 04:38:24 +05:30
<div className={styles.description}>
{appName ? (
<Message
key="authorizationForAppSuccessful"
defaultMessage="Authorization for {appName} has been successfully completed."
2020-05-24 04:38:24 +05:30
values={{
appName: <b>{appName}</b>,
}}
/>
) : (
<Message
key="authorizationSuccessful"
defaultMessage="Authorization has been successfully completed."
/>
2020-05-24 04:38:24 +05:30
)}
&nbsp;
<Message
key="youCanCloseThisPage"
defaultMessage="You can close this window and return to your application."
/>
2020-05-24 04:38:24 +05:30
</div>
</div>
</div>
);
}
}