]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blob - cmd/web/js/main.jsx
Poloniex connection.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / main.jsx
1 var SignupForm = require('./signup.js').SignupForm;
2 var SigninForm = require('./signin.js').SigninForm;
3 var OtpEnrollForm = require('./otp.js').OtpEnrollForm;
4 var PoloniexController = require('./poloniex.js').PoloniexController;
5 var App = require('./app.js');
6 var Api = require('./api.js').Api;
7 var cookies = require('./cookies.js');
8
9 var Logo = React.createClass({
10 render: function() {
11 return (<div className='row'>
12 <div id='logo' className='offset-4 col-4'>
13 <a href='/'>Cryptoportfolio</a>
14 </div>
15 </div>);
16 }
17 });
18
19 App.page('/signup', false, function(context) {
20 if (App.isUserSignedIn()) {
21 App.go('/me');
22 return;
23 }
24
25 App.mount(
26 <div>
27 <Logo />
28 <SignupForm onSuccess={App.onUserSignUp}/>
29 </div>
30 );
31 });
32
33 App.page('/signin', false, function(context) {
34 if (App.isUserSignedIn()) {
35 App.go('/me');
36 return;
37 }
38
39 App.mount(
40 <div>
41 <Logo />
42 <SigninForm onSuccess={App.onUserSignIn}/>
43 </div>
44 );
45 });
46
47 App.page('/signout', true, function(context) {
48 cookies.removeItem('jwt');
49
50 App.go('/');
51 });
52
53 App.page('/me', true, function(context) {
54 App.mount(
55 <div>
56 <Logo />
57 <PoloniexController/>
58 </div>
59 );
60 });
61
62 App.page('/otp/setup', true, function(context) {
63 Api.Call('OTP_ENROLL', {}, function(err, status, data) {
64 if (err) {
65 console.error(err, data);
66 return;
67 }
68
69 App.mount(
70 <div>
71 <Logo />
72 <OtpEnrollForm onSuccess={App.onUserValidateOtp} img={'data:image/png;base64,' + data.base64img} secret={data.secret}/>
73 </div>
74 );
75
76 }.bind(this));
77 });
78
79 App.page('/otp/validate', true, function(context) {
80 App.mount(
81 <div>
82 <Logo />
83 <OtpEnrollForm onSuccess={App.onUserValidateOtp} />
84 </div>
85 );
86 });
87
88 App.page('/', false, function(context) {
89 App.go('/me');
90 });
91
92 $(document).ready(function() {
93 App.start();
94 });