From 7a5eea2aaba7422a021cb7f679afee10ae926b03 Mon Sep 17 00:00:00 2001
From: Fredrik Strand Oseberg
Date: Mon, 29 Nov 2021 14:03:52 +0100
Subject: [PATCH] Fix/splash (#534)
* fix: use correct env id
* fix: extract to constant
* fix: fetch user when logging in
---
frontend/src/component/App.tsx | 6 +++---
.../src/component/common/BreadcrumbNav/BreadcrumbNav.tsx | 4 ++--
.../common/EnvironmentSplash/EnvironmentSplash.tsx | 4 +++-
frontend/src/component/user/DemoAuth/DemoAuth.jsx | 8 +++++++-
frontend/src/component/user/HostedAuth/HostedAuth.jsx | 3 +++
frontend/src/component/user/PasswordAuth/PasswordAuth.jsx | 4 +++-
frontend/src/component/user/SimpleAuth/SimpleAuth.jsx | 7 ++++++-
.../component/user/StandaloneBanner/StandaloneBanner.tsx | 1 -
8 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/frontend/src/component/App.tsx b/frontend/src/component/App.tsx
index bb129fca77..0bdfccb329 100644
--- a/frontend/src/component/App.tsx
+++ b/frontend/src/component/App.tsx
@@ -36,12 +36,12 @@ const App = ({ location, user, fetchUiBootstrap }: IAppProps) => {
}, [user.authDetails?.type]);
useEffect(() => {
- if (splash?.environments === undefined) return;
- if (!splash?.environments && !isUnauthorized()) {
+ if (splash?.environment === undefined) return;
+ if (!splash?.environment && !isUnauthorized()) {
setShowSplash(true);
}
/* eslint-disable-next-line */
- }, [splash.environments]);
+ }, [splash.environment]);
const renderMainLayoutRoutes = () => {
return routes.filter(route => route.layout === 'main').map(renderRoute);
diff --git a/frontend/src/component/common/BreadcrumbNav/BreadcrumbNav.tsx b/frontend/src/component/common/BreadcrumbNav/BreadcrumbNav.tsx
index a2ef4f3f5f..745019498f 100644
--- a/frontend/src/component/common/BreadcrumbNav/BreadcrumbNav.tsx
+++ b/frontend/src/component/common/BreadcrumbNav/BreadcrumbNav.tsx
@@ -46,7 +46,7 @@ const BreadcrumbNav = () => {
styles.breadcrumbNavParagraph
}
>
- {path.substring(0,30)}
+ {path.substring(0, 30)}
);
}
@@ -67,7 +67,7 @@ const BreadcrumbNav = () => {
className={styles.breadcrumbLink}
to={link}
>
- {path.substring(0,30)}
+ {path.substring(0, 30)}
);
})}
diff --git a/frontend/src/component/common/EnvironmentSplash/EnvironmentSplash.tsx b/frontend/src/component/common/EnvironmentSplash/EnvironmentSplash.tsx
index b5aa1b08d8..9490398d42 100644
--- a/frontend/src/component/common/EnvironmentSplash/EnvironmentSplash.tsx
+++ b/frontend/src/component/common/EnvironmentSplash/EnvironmentSplash.tsx
@@ -11,12 +11,14 @@ interface IEnvironmentSplashProps {
onFinish: (status: boolean) => void;
}
+const ENVIRONMENT_SPLASH_ID = 'environment';
+
const EnvironmentSplash = ({ onFinish }: IEnvironmentSplashProps) => {
const styles = useStyles();
const { setSplashSeen } = useSplashApi();
useEffect(() => {
- setSplashSeen('environments');
+ setSplashSeen(ENVIRONMENT_SPLASH_ID);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
diff --git a/frontend/src/component/user/DemoAuth/DemoAuth.jsx b/frontend/src/component/user/DemoAuth/DemoAuth.jsx
index ada2eca287..d27b83285e 100644
--- a/frontend/src/component/user/DemoAuth/DemoAuth.jsx
+++ b/frontend/src/component/user/DemoAuth/DemoAuth.jsx
@@ -1,6 +1,7 @@
import React, { useState } from 'react';
import PropTypes from 'prop-types';
import { Button, TextField } from '@material-ui/core';
+import useUser from '../../../hooks/api/getters/useUser/useUser';
import styles from './DemoAuth.module.scss';
@@ -10,12 +11,17 @@ import { LOGIN_BUTTON, LOGIN_EMAIL_ID } from '../../../testIds';
const DemoAuth = ({ demoLogin, history, authDetails }) => {
const [email, setEmail] = useState('');
+ const { refetch } = useUser();
+
const handleSubmit = evt => {
evt.preventDefault();
const user = { email };
const path = evt.target.action;
- demoLogin(path, user).then(() => history.push(`/`));
+ demoLogin(path, user).then(() => {
+ refetch();
+ history.push(`/`);
+ });
};
const handleChange = e => {
diff --git a/frontend/src/component/user/HostedAuth/HostedAuth.jsx b/frontend/src/component/user/HostedAuth/HostedAuth.jsx
index 4289d69e3a..083f242658 100644
--- a/frontend/src/component/user/HostedAuth/HostedAuth.jsx
+++ b/frontend/src/component/user/HostedAuth/HostedAuth.jsx
@@ -9,10 +9,12 @@ import useQueryParams from '../../../hooks/useQueryParams';
import AuthOptions from '../common/AuthOptions/AuthOptions';
import DividerText from '../../common/DividerText/DividerText';
import ConditionallyRender from '../../common/ConditionallyRender';
+import useUser from '../../../hooks/api/getters/useUser/useUser';
const HostedAuth = ({ authDetails, passwordLogin }) => {
const commonStyles = useCommonStyles();
const styles = useStyles();
+ const { refetch } = useUser();
const history = useHistory();
const params = useQueryParams();
const [username, setUsername] = useState(params.get('email') || '');
@@ -47,6 +49,7 @@ const HostedAuth = ({ authDetails, passwordLogin }) => {
try {
await passwordLogin(path, user);
+ refetch();
history.push(`/`);
} catch (error) {
if (error.statusCode === 404 || error.statusCode === 400) {
diff --git a/frontend/src/component/user/PasswordAuth/PasswordAuth.jsx b/frontend/src/component/user/PasswordAuth/PasswordAuth.jsx
index c9f0432439..99f7b50dcc 100644
--- a/frontend/src/component/user/PasswordAuth/PasswordAuth.jsx
+++ b/frontend/src/component/user/PasswordAuth/PasswordAuth.jsx
@@ -15,11 +15,13 @@ import {
LOGIN_PASSWORD_ID,
LOGIN_EMAIL_ID,
} from '../../../testIds';
+import useUser from '../../../hooks/api/getters/useUser/useUser';
const PasswordAuth = ({ authDetails, passwordLogin }) => {
const commonStyles = useCommonStyles();
const styles = useStyles();
const history = useHistory();
+ const { refetch } = useUser();
const params = useQueryParams();
const [username, setUsername] = useState(params.get('email') || '');
const [password, setPassword] = useState('');
@@ -53,7 +55,7 @@ const PasswordAuth = ({ authDetails, passwordLogin }) => {
try {
await passwordLogin(path, user);
-
+ refetch();
history.push(`/`);
} catch (error) {
if (error.statusCode === 404 || error.statusCode === 400) {
diff --git a/frontend/src/component/user/SimpleAuth/SimpleAuth.jsx b/frontend/src/component/user/SimpleAuth/SimpleAuth.jsx
index 0efb6b5779..0687d64540 100644
--- a/frontend/src/component/user/SimpleAuth/SimpleAuth.jsx
+++ b/frontend/src/component/user/SimpleAuth/SimpleAuth.jsx
@@ -3,16 +3,21 @@ import PropTypes from 'prop-types';
import { Button, TextField } from '@material-ui/core';
import styles from './SimpleAuth.module.scss';
+import useUser from '../../../hooks/api/getters/useUser/useUser';
const SimpleAuth = ({ insecureLogin, history, authDetails }) => {
const [email, setEmail] = useState('');
+ const { refetch } = useUser();
const handleSubmit = evt => {
evt.preventDefault();
const user = { email };
const path = evt.target.action;
- insecureLogin(path, user).then(() => history.push(`/`));
+ insecureLogin(path, user).then(() => {
+ refetch();
+ history.push(`/`);
+ });
};
const handleChange = e => {
diff --git a/frontend/src/component/user/StandaloneBanner/StandaloneBanner.tsx b/frontend/src/component/user/StandaloneBanner/StandaloneBanner.tsx
index e19a68203d..19bb86521c 100644
--- a/frontend/src/component/user/StandaloneBanner/StandaloneBanner.tsx
+++ b/frontend/src/component/user/StandaloneBanner/StandaloneBanner.tsx
@@ -14,7 +14,6 @@ const StandaloneBanner: FC = ({ title, children }) => {
const theme = useTheme();
const styles = useStyles();
const smallScreen = useMediaQuery(theme.breakpoints.down('sm'));
- console.log(smallScreen);
return (