1
0
mirror of https://github.com/mgerb/classic-wow-forums synced 2026-01-11 17:42:48 +00:00
Files
classic-wow-forums/client/app/pages/oauth/oauth.tsx

45 lines
1.1 KiB
TypeScript

import React from 'react';
import { RouteComponentProps } from 'react-router-dom';
import { parse } from 'query-string';
import { ContentContainer } from '../../components';
import { UserService } from '../../services';
interface Props extends RouteComponentProps<any> {}
interface State {
errorMessage?: string;
}
export class Oauth extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {};
}
componentDidMount() {
this.login(this.props.location.search);
}
private async login(queryString: string) {
try {
const code = parse(queryString).code;
await UserService.authorize(code);
window.opener.location.reload();
window.close();
} catch (e) {
this.setState({
errorMessage: 'Unable to log in. Your account may not be in the right region, or you may not have set a battletag.',
});
}
}
render() {
return (
<ContentContainer style={{ minHeight: '500px', padding: '50px', textAlign: 'center' }}>
<b>{this.state.errorMessage}</b>
</ContentContainer>
);
}
}