]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame_incremental - cmd/web/js/main.jsx
Fix escape sequence.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / main.jsx
... / ...
CommitLineData
1import SignupForm from './signup.js';
2import SigninForm from './signin.js';
3import PasswordResetForm from './password_reset.js';
4import ChangePasswordForm from './change_password.js';
5import OtpEnrollForm from './otp.js';
6import PoloniexController from './poloniex.js';
7import PoloniexConfiguration from './account.js';
8import App from './app.js';
9import Api from './api.js';
10import cookies from './cookies.js';
11import React from 'react';
12import qs from 'qs';
13
14App.page('/signup', false, function(context) {
15 if (App.isUserSignedIn()) {
16 App.go('/me');
17 return;
18 }
19
20 App.mount(<div>
21 <SignupForm onSuccess={App.onUserSignUp}/>
22 </div>);
23});
24
25App.page('/signin', false, function(context) {
26 if (App.isUserSignedIn()) {
27 App.go('/me');
28 return;
29 }
30
31 App.mount(<div>
32 <SigninForm onSuccess={App.onUserSignIn}/>
33 </div>);
34});
35
36App.page('/reset-password', false, function(context) {
37 if (App.isUserSignedIn()) {
38 App.go('/me');
39 return;
40 }
41
42 App.mount(<div>
43 <PasswordResetForm />
44 </div>);
45});
46
47App.page('/change-password', false, function(context) {
48 if (App.isUserSignedIn()) {
49 App.go('/me');
50 return;
51 }
52
53 var token = qs.parse(context.querystring).token;
54
55 if (token === undefined) {
56 App.go('/');
57 return;
58 }
59
60 App.mount(<div>
61 <ChangePasswordForm token={token} onSuccess={App.go.bind(App, '/signin')}/>
62 </div>);
63});
64
65App.page('/confirm', false, function(context) {
66 var token = qs.parse(context.querystring).token;
67
68 if (token === undefined) {
69 App.go('/');
70 return;
71 }
72
73 Api.Call(
74 'CONFIRM_EMAIL',
75 {'token': token},
76 function(err, status, data) {
77 if (err) {
78 console.error(err, data);
79 }
80
81 App.go('/me');
82 }
83 );
84});
85
86App.page('/signout', true, function(context) {
87 cookies.removeItem('jwt');
88
89 App.go('/');
90});
91
92App.page('/me', true, function(context) {
93 App.mount(<div>
94 <PoloniexController/>
95 </div>);
96});
97
98App.page('/account', true, function(context) {
99 App.mount(<div>
100 <PoloniexConfiguration/>
101 </div>);
102});
103
104App.page('/not_confirmed', true, function(context) {
105 App.mount(<div>
106 <div className="row">
107 <div className="box offset-3 col-6 text-center">
108 <p>An email has now been sent to your email address.</p>
109 <p>{'Please click the \'Confirm your account\' button to validate your email.'}</p>
110 </div>
111 </div>
112 </div>);
113});
114
115App.page('/otp/setup', true, function(context) {
116 Api.Call('OTP_ENROLL', {}, function(err, status, data) {
117 if (err) {
118 console.error(err, data);
119 return;
120 }
121
122 App.mount(<div>
123 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
124 </div>);
125
126 });
127});
128
129App.page('/otp/validate', true, function(context) {
130 App.mount(<div>
131 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
132 </div>);
133});
134
135App.page('/', false, function(context) {
136 App.go('/me');
137});
138
139$(document).ready(function() {
140 App.start();
141});