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 (