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