]>
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
.isUserAdmin = function() {
36 return cookies
.hasItem('isAdmin') && cookies
.getItem('isAdmin') === 'true';
39 App
.getUserToken = function() {
40 return cookies
.getItem('jwt');
43 App
.onUserSignIn = function(token
, isAdmin
) {
44 if (!token
|| token
=== '') {
49 cookies
.setItem('jwt', token
, cookieExpire
);
50 cookies
.setItem('isAdmin', isAdmin
, cookieExpire
);
54 App
.onUserValidateOtp = function(token
) {
55 if (!token
|| token
=== '') {
60 cookies
.setItem('jwt', token
, cookieExpire
);
64 App
.onUserSignUp = function(token
, isAdmin
) {
65 if (!token
|| token
=== '') {
70 cookies
.setItem('jwt', token
, cookieExpire
);
71 cookies
.setItem('isAdmin', isAdmin
, cookieExpire
);
72 page('/not_confirmed');
75 App
.getUserJWT = function() {
76 return cookies
.getItem('jwt');
79 App
.page = function(path
, needsAuth
, fn
) {
80 page(path
, function(context
) {
81 if (needsAuth
&& !App
.isUserSignedIn()) {
90 App
.go = function(path
) {
94 App
.start = function() {
98 App
.onInternNavigation = function(href
, e
) {
103 App
.onUserNotAuthorized = function(httpCode
, apiCode
) {
105 case 'not_authorized':
106 cookies
.removeItem('jwt');
107 cookies
.removeItem('isAdmin');
110 case 'otp_not_setup':
113 case 'need_otp_validation':
114 page('/otp/validate');
116 case 'user_not_confirmed':
117 page('/not_confirmed');
124 App
.mount = function(app
) {
125 var root
= React
.createElement(
127 {className: 'container'},
129 React
.createElement(Header
, {key: 'header', isLoggedIn: App
.isUserSignedIn(), isAdmin: App
.isUserAdmin()}),
130 React
.createElement(React
.Fragment
, {key: 'app'}, app
),
131 React
.createElement(Footer
, {key: 'footer', isLoggedIn: App
.isUserSignedIn(), isAdmin: App
.isUserAdmin()})
135 ReactDOM
.unmountComponentAtNode(document
.getElementById('app'));
136 ReactDOM
.render(root
, document
.getElementById('app'));