]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blob - cmd/web/js/main.jsx
/not_confirmed page.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / main.jsx
1 import SignupForm from './signup.js';
2 import SigninForm from './signin.js';
3 import OtpEnrollForm from './otp.js';
4 import PoloniexController from './poloniex.js';
5 import App from './app.js';
6 import Api from './api.js';
7 import cookies from './cookies.js';
8 import React from 'react';
9
10 class Logo extends React.Component {
11 render() {
12 return <div className="row">
13 <div id="logo" className="offset-4 col-4">
14 <a href="/">Cryptoportfolio</a>
15 </div>
16 </div>;
17 }
18 }
19
20 App.page('/signup', false, function(context) {
21 if (App.isUserSignedIn()) {
22 App.go('/me');
23 return;
24 }
25
26 App.mount(<div>
27 <Logo />
28 <SignupForm onSuccess={App.onUserSignUp}/>
29 </div>);
30 });
31
32 App.page('/signin', false, function(context) {
33 if (App.isUserSignedIn()) {
34 App.go('/me');
35 return;
36 }
37
38 App.mount(<div>
39 <Logo />
40 <SigninForm onSuccess={App.onUserSignIn}/>
41 </div>);
42 });
43
44 App.page('/signout', true, function(context) {
45 cookies.removeItem('jwt');
46
47 App.go('/');
48 });
49
50 App.page('/me', true, function(context) {
51 App.mount(<div>
52 <Logo />
53 <PoloniexController/>
54 </div>);
55 });
56
57 App.page('/not_confirmed', true, function(context) {
58 App.mount(<div>
59 <Logo />
60 <div className="row">
61 <div className="box offset-3 col-6 text-center">
62 <p>Please be patient, you account is being confirmed...</p>
63 <p><a href="/me"><u>Refresh</u></a></p>
64 </div>
65 </div>
66 </div>);
67 });
68
69 App.page('/otp/setup', true, function(context) {
70 Api.Call('OTP_ENROLL', {}, function(err, status, data) {
71 if (err) {
72 console.error(err, data);
73 return;
74 }
75
76 App.mount(<div>
77 <Logo />
78 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
79 </div>);
80
81 });
82 });
83
84 App.page('/otp/validate', true, function(context) {
85 App.mount(<div>
86 <Logo />
87 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
88 </div>);
89 });
90
91 App.page('/', false, function(context) {
92 App.go('/me');
93 });
94
95 $(document).ready(function() {
96 App.start();
97 });