]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame - cmd/web/js/main.jsx
/not_confirmed 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';
3import OtpEnrollForm from './otp.js';
4import PoloniexController from './poloniex.js';
5import App from './app.js';
6import Api from './api.js';
7import cookies from './cookies.js';
8import React from 'react';
7a9e5112 9
989fb5c7 10class 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>
2f91f20a 15 </div>
989fb5c7 16 </div>;
7a9e5112 17 }
989fb5c7 18}
7a9e5112 19
20App.page('/signup', false, function(context) {
21 if (App.isUserSignedIn()) {
22 App.go('/me');
23 return;
24 }
25
989fb5c7 26 App.mount(<div>
7a9e5112 27 <Logo />
28 <SignupForm onSuccess={App.onUserSignUp}/>
989fb5c7 29 </div>);
7a9e5112 30});
31
32App.page('/signin', false, function(context) {
33 if (App.isUserSignedIn()) {
34 App.go('/me');
35 return;
36 }
37
989fb5c7 38 App.mount(<div>
7a9e5112 39 <Logo />
40 <SigninForm onSuccess={App.onUserSignIn}/>
989fb5c7 41 </div>);
7a9e5112 42});
43
44App.page('/signout', true, function(context) {
45 cookies.removeItem('jwt');
46
47 App.go('/');
48});
49
50App.page('/me', true, function(context) {
989fb5c7 51 App.mount(<div>
2f91f20a 52 <Logo />
53 <PoloniexController/>
989fb5c7 54 </div>);
7a9e5112 55});
56
adf936f6 57App.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
7a9e5112 69App.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
989fb5c7 76 App.mount(<div>
7a9e5112 77 <Logo />
78 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
989fb5c7 79 </div>);
7a9e5112 80
989fb5c7 81 });
7a9e5112 82});
83
84App.page('/otp/validate', true, function(context) {
989fb5c7 85 App.mount(<div>
7a9e5112 86 <Logo />
87 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
989fb5c7 88 </div>);
7a9e5112 89});
90
91App.page('/', false, function(context) {
92 App.go('/me');
93});
94
95$(document).ready(function() {
96 App.start();
97});