diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2019-10-14 13:38:31 -0400 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-10-14 13:38:31 -0400 |
commit | cc84f5620b3f3ef801e3b0696f817e4fb74f58fc (patch) | |
tree | a743f02dd80daea6ea37040ec2371db7acd1b7b8 /src/client/apis/GoogleAuthenticationManager.tsx | |
parent | fb3d1a66100e9ecf573031cfcafeb983f4ad5d5b (diff) | |
parent | 9d877a5d38a5574b6ab99c20d0c1718e0af964b5 (diff) |
merged with master
Diffstat (limited to 'src/client/apis/GoogleAuthenticationManager.tsx')
-rw-r--r-- | src/client/apis/GoogleAuthenticationManager.tsx | 29 |
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> ); } |