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