diff options
author | jloup <jeanloup.jamet@gmail.com> | 2018-02-25 21:11:38 +0100 |
---|---|---|
committer | jloup <jeanloup.jamet@gmail.com> | 2018-02-25 21:11:38 +0100 |
commit | ee902062a71c1ef31176cf5061555618b288b1d4 (patch) | |
tree | bd5d6c47567fc043c68a054ab914c8bd31114674 /cmd/web | |
parent | adf936f66a5c59e6cc2e7a1c644148e0f119e5c8 (diff) | |
download | Front-ee902062a71c1ef31176cf5061555618b288b1d4.tar.gz Front-ee902062a71c1ef31176cf5061555618b288b1d4.tar.zst Front-ee902062a71c1ef31176cf5061555618b288b1d4.zip |
Logout link.
Diffstat (limited to 'cmd/web')
-rw-r--r-- | cmd/web/js/main.jsx | 41 | ||||
-rw-r--r-- | cmd/web/js/otp.jsx | 1 | ||||
-rw-r--r-- | cmd/web/static/style.css | 10 |
3 files changed, 39 insertions, 13 deletions
diff --git a/cmd/web/js/main.jsx b/cmd/web/js/main.jsx index 79bf976..c95c748 100644 --- a/cmd/web/js/main.jsx +++ b/cmd/web/js/main.jsx | |||
@@ -7,13 +7,32 @@ import Api from './api.js'; | |||
7 | import cookies from './cookies.js'; | 7 | import cookies from './cookies.js'; |
8 | import React from 'react'; | 8 | import React from 'react'; |
9 | 9 | ||
10 | class Header extends React.Component { | ||
11 | render = () => { | ||
12 | if (this.props.displayLogout === true) { | ||
13 | return <div id="header" className="row"> | ||
14 | <div className="offset-4 col-4"> | ||
15 | <Logo /> | ||
16 | </div> | ||
17 | <div className="offset-2 col-2 align-self-center h-100"> | ||
18 | <a href="/signout"><u>Logout</u></a> | ||
19 | </div> | ||
20 | </div>; | ||
21 | } | ||
22 | return <div id="header" className="row"> | ||
23 | <div className="offset-4 col-4"> | ||
24 | <Logo /> | ||
25 | </div> | ||
26 | </div>; | ||
27 | |||
28 | } | ||
29 | } | ||
30 | |||
10 | class Logo extends React.Component { | 31 | class Logo extends React.Component { |
11 | render() { | 32 | render() { |
12 | return <div className="row"> | 33 | return <div id="logo" className="w-100"> |
13 | <div id="logo" className="offset-4 col-4"> | 34 | <h1><a href="/">CryptoPF</a></h1> |
14 | <a href="/">Cryptoportfolio</a> | 35 | </div>; |
15 | </div> | ||
16 | </div>; | ||
17 | } | 36 | } |
18 | } | 37 | } |
19 | 38 | ||
@@ -24,7 +43,7 @@ App.page('/signup', false, function(context) { | |||
24 | } | 43 | } |
25 | 44 | ||
26 | App.mount(<div> | 45 | App.mount(<div> |
27 | <Logo /> | 46 | <Header /> |
28 | <SignupForm onSuccess={App.onUserSignUp}/> | 47 | <SignupForm onSuccess={App.onUserSignUp}/> |
29 | </div>); | 48 | </div>); |
30 | }); | 49 | }); |
@@ -36,7 +55,7 @@ App.page('/signin', false, function(context) { | |||
36 | } | 55 | } |
37 | 56 | ||
38 | App.mount(<div> | 57 | App.mount(<div> |
39 | <Logo /> | 58 | <Header /> |
40 | <SigninForm onSuccess={App.onUserSignIn}/> | 59 | <SigninForm onSuccess={App.onUserSignIn}/> |
41 | </div>); | 60 | </div>); |
42 | }); | 61 | }); |
@@ -49,14 +68,14 @@ App.page('/signout', true, function(context) { | |||
49 | 68 | ||
50 | App.page('/me', true, function(context) { | 69 | App.page('/me', true, function(context) { |
51 | App.mount(<div> | 70 | App.mount(<div> |
52 | <Logo /> | 71 | <Header displayLogout={true} /> |
53 | <PoloniexController/> | 72 | <PoloniexController/> |
54 | </div>); | 73 | </div>); |
55 | }); | 74 | }); |
56 | 75 | ||
57 | App.page('/not_confirmed', true, function(context) { | 76 | App.page('/not_confirmed', true, function(context) { |
58 | App.mount(<div> | 77 | App.mount(<div> |
59 | <Logo /> | 78 | <Header displayLogout={true}/> |
60 | <div className="row"> | 79 | <div className="row"> |
61 | <div className="box offset-3 col-6 text-center"> | 80 | <div className="box offset-3 col-6 text-center"> |
62 | <p>Please be patient, you account is being confirmed...</p> | 81 | <p>Please be patient, you account is being confirmed...</p> |
@@ -74,7 +93,7 @@ App.page('/otp/setup', true, function(context) { | |||
74 | } | 93 | } |
75 | 94 | ||
76 | App.mount(<div> | 95 | App.mount(<div> |
77 | <Logo /> | 96 | <Header displayLogout={true}/> |
78 | <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/> | 97 | <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/> |
79 | </div>); | 98 | </div>); |
80 | 99 | ||
@@ -83,7 +102,7 @@ App.page('/otp/setup', true, function(context) { | |||
83 | 102 | ||
84 | App.page('/otp/validate', true, function(context) { | 103 | App.page('/otp/validate', true, function(context) { |
85 | App.mount(<div> | 104 | App.mount(<div> |
86 | <Logo /> | 105 | <Header displayLogout={true}/> |
87 | <OtpEnrollForm onSuccess={App.onUserValidateOtp} /> | 106 | <OtpEnrollForm onSuccess={App.onUserValidateOtp} /> |
88 | </div>); | 107 | </div>); |
89 | }); | 108 | }); |
diff --git a/cmd/web/js/otp.jsx b/cmd/web/js/otp.jsx index aecf032..6c22c8c 100644 --- a/cmd/web/js/otp.jsx +++ b/cmd/web/js/otp.jsx | |||
@@ -55,6 +55,7 @@ class OtpEnrollForm extends React.Component { | |||
55 | if (this.props.img) { | 55 | if (this.props.img) { |
56 | qrCode = | 56 | qrCode = |
57 | <div className="row justify-content-center"> | 57 | <div className="row justify-content-center"> |
58 | <p>Please setup 2FA (Google Authenticator, Authy)</p> | ||
58 | <OtpQrCode img={this.props.img} secret={this.props.secret} /> | 59 | <OtpQrCode img={this.props.img} secret={this.props.secret} /> |
59 | </div>; | 60 | </div>; |
60 | } | 61 | } |
diff --git a/cmd/web/static/style.css b/cmd/web/static/style.css index bfa43f0..cdbcd06 100644 --- a/cmd/web/static/style.css +++ b/cmd/web/static/style.css | |||
@@ -32,14 +32,20 @@ i.cc { | |||
32 | text-align: center; | 32 | text-align: center; |
33 | display: inline-block; | 33 | display: inline-block; |
34 | color: white; | 34 | color: white; |
35 | font-size: 28px; | ||
36 | background-color: rgb(20, 20, 20); | 35 | background-color: rgb(20, 20, 20); |
37 | border-radius: 4px; | 36 | border-radius: 4px; |
38 | font-weight: bold; | 37 | font-weight: bold; |
39 | padding: 10px 10px 10px 10px; | 38 | padding: 10px 10px 10px 10px; |
40 | vertical-align: middle; | 39 | vertical-align: middle; |
41 | margin-bottom: 30px; | 40 | } |
41 | |||
42 | #header { | ||
42 | margin-top: 20px; | 43 | margin-top: 20px; |
44 | margin-bottom: 30px; | ||
45 | } | ||
46 | |||
47 | h1 { | ||
48 | font-size: 1.5em; | ||
43 | } | 49 | } |
44 | 50 | ||
45 | .sign-in .form-control { | 51 | .sign-in .form-control { |