aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/js/main.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/web/js/main.jsx')
-rw-r--r--cmd/web/js/main.jsx34
1 files changed, 34 insertions, 0 deletions
diff --git a/cmd/web/js/main.jsx b/cmd/web/js/main.jsx
index e64adc7..909f1bd 100644
--- a/cmd/web/js/main.jsx
+++ b/cmd/web/js/main.jsx
@@ -1,11 +1,14 @@
1import SignupForm from './signup.js'; 1import SignupForm from './signup.js';
2import SigninForm from './signin.js'; 2import SigninForm from './signin.js';
3import PasswordResetForm from './password_reset.js';
4import ChangePasswordForm from './change_password.js';
3import OtpEnrollForm from './otp.js'; 5import OtpEnrollForm from './otp.js';
4import PoloniexController from './poloniex.js'; 6import PoloniexController from './poloniex.js';
5import App from './app.js'; 7import App from './app.js';
6import Api from './api.js'; 8import Api from './api.js';
7import cookies from './cookies.js'; 9import cookies from './cookies.js';
8import React from 'react'; 10import React from 'react';
11import qs from 'qs';
9 12
10class Header extends React.Component { 13class Header extends React.Component {
11 render = () => { 14 render = () => {
@@ -60,6 +63,37 @@ App.page('/signin', false, function(context) {
60 </div>); 63 </div>);
61}); 64});
62 65
66App.page('/reset-password', false, function(context) {
67 if (App.isUserSignedIn()) {
68 App.go('/me');
69 return;
70 }
71
72 App.mount(<div>
73 <Header />
74 <PasswordResetForm />
75 </div>);
76});
77
78App.page('/change-password', false, function(context) {
79 if (App.isUserSignedIn()) {
80 App.go('/me');
81 return;
82 }
83
84 var token = qs.parse(context.querystring).token;
85
86 if (token === undefined) {
87 App.go('/');
88 return;
89 }
90
91 App.mount(<div>
92 <Header />
93 <ChangePasswordForm token={token} onSuccess={App.go.bind(App, '/signin')}/>
94 </div>);
95});
96
63App.page('/signout', true, function(context) { 97App.page('/signout', true, function(context) {
64 cookies.removeItem('jwt'); 98 cookies.removeItem('jwt');
65 99