]>
Commit | Line | Data |
---|---|---|
2f91f20a | 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'); | |
7a9e5112 | 8 | |
9 | var Logo = React.createClass({ | |
10 | render: function() { | |
2f91f20a | 11 | return (<div className='row'> |
12 | <div id='logo' className='offset-4 col-4'> | |
13 | <a href='/'>Cryptoportfolio</a> | |
14 | </div> | |
7a9e5112 | 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) { | |
2f91f20a | 54 | App.mount( |
55 | <div> | |
56 | <Logo /> | |
57 | <PoloniexController/> | |
58 | </div> | |
59 | ); | |
7a9e5112 | 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 | }); |