Kaynağa Gözat

removed cliping of login page when loading tracim with auth cookie

Skylsmoi 6 yıl önce
ebeveyn
işleme
ba8b640c0c

+ 4 - 2
src/container/PrivateRoute.jsx Dosyayı Görüntüle

@@ -9,8 +9,10 @@ import { Route, Redirect, withRouter } from 'react-router-dom'
9 9
 // "You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored
10 10
 const PrivateRoute = ({ component: Component, ...rest }) => (
11 11
   <Route {...rest} render={props => rest.user.logged
12
-    ? <Component {...props} />
13
-    : <Redirect to={{pathname: '/login', state: {from: props.location}}} />
12
+    ? <Component {...props} /> // user logged, return composant
13
+    : rest.user.logged === null
14
+      ? <div /> // dont know if user logged yet (waiting for api to respond), do nothing @TODO display loader
15
+      : <Redirect to={{pathname: '/login', state: {from: props.location}}} /> // // user not logged, redirect to login page
14 16
   } />
15 17
 )
16 18
 

+ 2 - 4
src/container/Tracim.jsx Dosyayı Görüntüle

@@ -32,8 +32,6 @@ class Tracim extends React.Component {
32 32
       auth: Cookies.get('user_auth')
33 33
     }
34 34
 
35
-    if (userFromCookies.email === undefined || userFromCookies.auth === undefined) return
36
-
37 35
     const fetchGetUserIsConnected = await dispatch(getUserIsConnected(userFromCookies))
38 36
     switch (fetchGetUserIsConnected.status) {
39 37
       case 200:
@@ -46,14 +44,14 @@ class Tracim extends React.Component {
46 44
       case 401:
47 45
         dispatch(setUserConnected({logged: false})); break
48 46
       default:
49
-        dispatch(setUserConnected({logged: undefined})); break
47
+        dispatch(setUserConnected({logged: null})); break
50 48
     }
51 49
   }
52 50
 
53 51
   handleRemoveFlashMessage = msg => this.props.dispatch(removeFlashMessage(msg))
54 52
 
55 53
   render () {
56
-    const { flashMessage, t } = this.props
54
+    const { flashMessage, user, t } = this.props
57 55
 
58 56
     return (
59 57
       <div className='tracim'>

+ 1 - 1
src/reducer/user.js Dosyayı Görüntüle

@@ -6,7 +6,7 @@ import {
6 6
 
7 7
 const defaultUser = {
8 8
   user_id: -1,
9
-  logged: false, // undefined avoid to be redirected to /login while whoami ep has not responded yet
9
+  logged: null, // null avoid to be redirected to /login while whoami ep has not responded yet
10 10
   timezone: '',
11 11
   profile: {
12 12
     id: 1,