]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blobdiff - cmd/web/js/app.js
Factorize Header/Footer code.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / app.js
index 4946dcc8bc72226c29c4fec3d0afa232dec8107a..878878d516146305265ca0ecaf97f47ada0ac855 100644 (file)
@@ -1,10 +1,13 @@
 'use strict';
 
-var cookies = require('./cookies.js');
-var page    = require('page');
+import cookies from './cookies.js';
+import page from 'page';
+import React from 'react';
+import ReactDOM from 'react-dom';
+import {Header, Footer} from './header_footer.js';
 
 var App = {};
-var cookieExpire = 60 * 30;
+var cookieExpire = 60 * 60 * 24 * 7;
 
 App.errorCodeToMessage = function(code) {
   switch (code) {
@@ -60,6 +63,7 @@ App.onUserSignUp = function(token) {
   }
 
   cookies.setItem('jwt', token, cookieExpire);
+  page('/not_confirmed');
 };
 
 App.getUserJWT = function() {
@@ -102,6 +106,9 @@ App.onUserNotAuthorized = function(httpCode, apiCode) {
     case 'need_otp_validation':
       page('/otp/validate');
       return false;
+    case 'user_not_confirmed':
+      page('/not_confirmed');
+      return false;
     default:
       return true;
   }
@@ -111,11 +118,15 @@ App.mount = function(app) {
   var root = React.createElement(
       'div',
       {className: 'container'},
-      app
+      [
+       React.createElement(Header, {key: 'header', isLoggedIn: App.isUserSignedIn()}),
+       React.createElement(React.Fragment, {key: 'app'}, app),
+       React.createElement(Footer, {key: 'footer', isLoggedIn: App.isUserSignedIn()})
+      ],
   );
 
   ReactDOM.unmountComponentAtNode(document.getElementById('app'));
   ReactDOM.render(root, document.getElementById('app'));
 };
 
-module.exports = App;
+export default App;