]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame - cmd/web/js/main.jsx
Factorize Header/Footer code.
[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';
7import App from './app.js';
8import Api from './api.js';
9import cookies from './cookies.js';
10import React from 'react';
85545aba 11import qs from 'qs';
7a9e5112 12
7a9e5112 13App.page('/signup', false, function(context) {
14 if (App.isUserSignedIn()) {
15 App.go('/me');
16 return;
17 }
18
989fb5c7 19 App.mount(<div>
7a9e5112 20 <SignupForm onSuccess={App.onUserSignUp}/>
989fb5c7 21 </div>);
7a9e5112 22});
23
24App.page('/signin', false, function(context) {
25 if (App.isUserSignedIn()) {
26 App.go('/me');
27 return;
28 }
29
989fb5c7 30 App.mount(<div>
7a9e5112 31 <SigninForm onSuccess={App.onUserSignIn}/>
989fb5c7 32 </div>);
7a9e5112 33});
34
85545aba 35App.page('/reset-password', false, function(context) {
36 if (App.isUserSignedIn()) {
37 App.go('/me');
38 return;
39 }
40
41 App.mount(<div>
85545aba 42 <PasswordResetForm />
43 </div>);
44});
45
46App.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>
85545aba 60 <ChangePasswordForm token={token} onSuccess={App.go.bind(App, '/signin')}/>
61 </div>);
62});
63
7a9e5112 64App.page('/signout', true, function(context) {
65 cookies.removeItem('jwt');
66
67 App.go('/');
68});
69
70App.page('/me', true, function(context) {
989fb5c7 71 App.mount(<div>
2f91f20a 72 <PoloniexController/>
989fb5c7 73 </div>);
7a9e5112 74});
75
adf936f6 76App.page('/not_confirmed', true, function(context) {
77 App.mount(<div>
adf936f6 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
7a9e5112 87App.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
989fb5c7 94 App.mount(<div>
7a9e5112 95 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
989fb5c7 96 </div>);
7a9e5112 97
989fb5c7 98 });
7a9e5112 99});
100
101App.page('/otp/validate', true, function(context) {
989fb5c7 102 App.mount(<div>
7a9e5112 103 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
989fb5c7 104 </div>);
7a9e5112 105});
106
107App.page('/', false, function(context) {
108 App.go('/me');
109});
110
111$(document).ready(function() {
112 App.start();
113});