]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame_incremental - cmd/web/js/main.jsx
Upgrade ReactJS. EC6 import modules.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / main.jsx
... / ...
CommitLineData
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';
9
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>
15 </div>
16 </div>;
17 }
18}
19
20App.page('/signup', false, function(context) {
21 if (App.isUserSignedIn()) {
22 App.go('/me');
23 return;
24 }
25
26 App.mount(<div>
27 <Logo />
28 <SignupForm onSuccess={App.onUserSignUp}/>
29 </div>);
30});
31
32App.page('/signin', false, function(context) {
33 if (App.isUserSignedIn()) {
34 App.go('/me');
35 return;
36 }
37
38 App.mount(<div>
39 <Logo />
40 <SigninForm onSuccess={App.onUserSignIn}/>
41 </div>);
42});
43
44App.page('/signout', true, function(context) {
45 cookies.removeItem('jwt');
46
47 App.go('/');
48});
49
50App.page('/me', true, function(context) {
51 App.mount(<div>
52 <Logo />
53 <PoloniexController/>
54 </div>);
55});
56
57App.page('/otp/setup', true, function(context) {
58 Api.Call('OTP_ENROLL', {}, function(err, status, data) {
59 if (err) {
60 console.error(err, data);
61 return;
62 }
63
64 App.mount(<div>
65 <Logo />
66 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
67 </div>);
68
69 });
70});
71
72App.page('/otp/validate', true, function(context) {
73 App.mount(<div>
74 <Logo />
75 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
76 </div>);
77});
78
79App.page('/', false, function(context) {
80 App.go('/me');
81});
82
83$(document).ready(function() {
84 App.start();
85});