aboutsummaryrefslogtreecommitdiff
path: root/src/client/apis/GoogleAuthenticationManager.tsx
diff options
context:
space:
mode:
authorFawn <fangrui_tong@brown.edu>2019-10-24 10:44:13 -0400
committerFawn <fangrui_tong@brown.edu>2019-10-24 10:44:13 -0400
commit0f72e2acc66698247503246887a5f5bb572b2753 (patch)
tree9e50a4259e26ef50c31894a7e9b1e6282a267412 /src/client/apis/GoogleAuthenticationManager.tsx
parent45074de50007e0693df8835643464da962e62620 (diff)
parent31166219e473e105b8fd9d49627fd1df58822c55 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into textbox_fawn_fix
Diffstat (limited to 'src/client/apis/GoogleAuthenticationManager.tsx')
-rw-r--r--src/client/apis/GoogleAuthenticationManager.tsx29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/client/apis/GoogleAuthenticationManager.tsx b/src/client/apis/GoogleAuthenticationManager.tsx
index d143d8273..01dac3996 100644
--- a/src/client/apis/GoogleAuthenticationManager.tsx
+++ b/src/client/apis/GoogleAuthenticationManager.tsx
@@ -19,6 +19,8 @@ export default class GoogleAuthenticationManager extends React.Component<{}> {
@observable private clickedState = false;
@observable private success: Opt<boolean> = undefined;
@observable private displayLauncher = true;
+ @observable private avatar: Opt<string> = undefined;
+ @observable private username: Opt<string> = undefined;
private set isOpen(value: boolean) {
runInAction(() => this.openState = value);
@@ -40,10 +42,14 @@ export default class GoogleAuthenticationManager extends React.Component<{}> {
authenticationCode => {
if (authenticationCode) {
Identified.PostToServer(RouteStore.writeGoogleAccessToken, { authenticationCode }).then(
- token => {
+ ({ access_token, avatar, name }) => {
+ runInAction(() => {
+ this.avatar = avatar;
+ this.username = name;
+ });
this.beginFadeout();
disposer();
- resolve(token);
+ resolve(access_token);
},
action(() => {
this.hasBeenClicked = false;
@@ -61,15 +67,18 @@ export default class GoogleAuthenticationManager extends React.Component<{}> {
beginFadeout = action(() => {
this.success = true;
+ this.authenticationCode = undefined;
+ this.displayLauncher = false;
+ this.hasBeenClicked = false;
setTimeout(action(() => {
this.isOpen = false;
- this.displayLauncher = false;
setTimeout(action(() => {
this.success = undefined;
this.displayLauncher = true;
- this.hasBeenClicked = false;
+ this.avatar = undefined;
+ this.username = undefined;
}), 500);
- }), 2000);
+ }), 3000);
});
constructor(props: {}) {
@@ -88,7 +97,7 @@ export default class GoogleAuthenticationManager extends React.Component<{}> {
private get renderPrompt() {
return (
- <div style={{ display: "flex", flexDirection: "column" }}>
+ <div className={'authorize-container'}>
{this.displayLauncher ? <button
className={"dispatch"}
onClick={this.handleClick}
@@ -99,6 +108,14 @@ export default class GoogleAuthenticationManager extends React.Component<{}> {
onChange={this.handlePaste}
placeholder={prompt}
/> : (null)}
+ {this.avatar ? <img
+ className={'avatar'}
+ src={this.avatar}
+ /> : (null)}
+ {this.username ? <span
+ className={'welcome'}
+ >Welcome to Dash, {this.username}
+ </span> : (null)}
</div>
);
}