]>
git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blob - cmd/web/js/app.js
3 import cookies
from './cookies.js';
4 import page
from 'page';
5 import React
from 'react';
6 import ReactDOM
from 'react-dom';
7 import {Header
, Footer
} from './header_footer.js';
10 var cookieExpire
= 60 * 60 * 24 * 7;
12 App
.errorCodeToMessage = function(code
) {
15 return 'The email is not valid';
16 case 'invalid_password':
17 return 'The password is not valid';
19 return 'This email is already registered';
20 case 'invalid_credentials':
21 return 'Invalid credentials';
23 return 'Invalid code !';
24 case 'user_not_confirmed':
25 return 'Your account is being confirmed. Should be very soon !';
31 App
.isUserSignedIn = function() {
32 return cookies
.hasItem('jwt');
35 App
.getUserToken = function() {
36 return cookies
.getItem('jwt');
39 App
.onUserSignIn = function(token
) {
40 if (!token
|| token
=== '') {
45 cookies
.setItem('jwt', token
, cookieExpire
);
49 App
.onUserValidateOtp = function(token
) {
50 if (!token
|| token
=== '') {
55 cookies
.setItem('jwt', token
, cookieExpire
);
59 App
.onUserSignUp = function(token
) {
60 if (!token
|| token
=== '') {
65 cookies
.setItem('jwt', token
, cookieExpire
);
66 page('/not_confirmed');
69 App
.getUserJWT = function() {
70 return cookies
.getItem('jwt');
73 App
.page = function(path
, needsAuth
, fn
) {
74 page(path
, function(context
) {
75 if (needsAuth
&& !App
.isUserSignedIn()) {
84 App
.go = function(path
) {
88 App
.start = function() {
92 App
.onInternNavigation = function(href
, e
) {
97 App
.onUserNotAuthorized = function(httpCode
, apiCode
) {
99 case 'not_authorized':
100 cookies
.removeItem('jwt');
103 case 'otp_not_setup':
106 case 'need_otp_validation':
107 page('/otp/validate');
109 case 'user_not_confirmed':
110 page('/not_confirmed');
117 App
.mount = function(app
) {
118 var root
= React
.createElement(
120 {className: 'container'},
122 React
.createElement(Header
, {key: 'header', isLoggedIn: App
.isUserSignedIn()}),
123 React
.createElement(React
.Fragment
, {key: 'app'}, app
),
124 React
.createElement(Footer
, {key: 'footer', isLoggedIn: App
.isUserSignedIn()})
128 ReactDOM
.unmountComponentAtNode(document
.getElementById('app'));
129 ReactDOM
.render(root
, document
.getElementById('app'));