diff --git a/package.json b/package.json
index 34b7282f5a..e93100da5b 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,7 @@
"@babel/preset-react": "^7.8.3",
"@babel/runtime": "^7.8.3",
"@hapi/joi": "^15.1.1",
+ "@trbl/react-modal": "0.1.0",
"accept-language-parser": "^1.5.0",
"async-some": "^1.0.2",
"babel-jest": "^24.9.0",
diff --git a/src/client/components/Routes.js b/src/client/components/Routes.js
index 5f738e6e96..4f90d12d8d 100644
--- a/src/client/components/Routes.js
+++ b/src/client/components/Routes.js
@@ -15,6 +15,7 @@ import Edit from './views/collections/Edit';
import EditGlobal from './views/globals/Edit';
import { requests } from '../api';
import customComponents from './custom-components';
+import RedirectToLogin from './utilities/RedirectToLogin';
const Routes = () => {
const [initialized, setInitialized] = useState(null);
@@ -151,7 +152,7 @@ const Routes = () => {
);
}
- return ;
+ return ;
}}
/>
diff --git a/src/client/components/data/User.js b/src/client/components/data/User.js
index 5ce7a3f27d..c50a556a76 100644
--- a/src/client/components/data/User.js
+++ b/src/client/components/data/User.js
@@ -9,14 +9,26 @@ const cookies = new Cookies();
const Context = createContext({});
const UserProvider = ({ children }) => {
- const cookieToken = cookies.get('token');
const [token, setToken] = useState('');
- const [user, setUser] = useState(cookieToken ? jwtDecode(cookieToken) : null);
+ const [user, setUser] = useState(null);
+
+ useEffect(() => {
+ const cookieToken = cookies.get('token');
+ if (cookieToken) {
+ const decoded = jwtDecode(cookieToken);
+ if (decoded.exp > Date.now() / 1000) {
+ setUser(decoded);
+ }
+ }
+ }, []);
useEffect(() => {
if (token) {
- setUser(jwtDecode(token));
- cookies.set('token', token, { path: '/' });
+ const decoded = jwtDecode(token);
+ if (decoded.exp > Date.now() / 1000) {
+ setUser(decoded);
+ cookies.set('token', token, { path: '/' });
+ }
}
}, [token]);
diff --git a/src/client/components/forms/Form/index.js b/src/client/components/forms/Form/index.js
index bb56f5f74a..3d7c3ac873 100644
--- a/src/client/components/forms/Form/index.js
+++ b/src/client/components/forms/Form/index.js
@@ -123,8 +123,6 @@ const Form = (props) => {
baseClass,
].filter(Boolean).join(' ');
- // console.log(fields);
-
return (