all repos — caroster @ 6793873dc979591e3f4dabc03542b1b53977c905

[Octree] Group carpool to your event https://caroster.io

:bug: AddToMyEventDialog sporadically stoped working as history object might be empty. Use Redirect Component instead
Hadrien Froger hadrien@octree.ch
Tue, 21 Jul 2020 15:49:31 +0100
commit

6793873dc979591e3f4dabc03542b1b53977c905

parent

b6bca42a348be102e5e319525ceffe27a99cc385

1 files changed, 9 insertions(+), 18 deletions(-)

jump to
M app/src/containers/AddToMyEventDialog/AddToMyEventDialog.jsapp/src/containers/AddToMyEventDialog/AddToMyEventDialog.js

@@ -1,4 +1,4 @@

-import React from 'react'; +import React, {useState} from 'react'; import Dialog from '@material-ui/core/Dialog'; import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent';

@@ -7,14 +7,18 @@ import DialogTitle from '@material-ui/core/DialogTitle';

import Slide from '@material-ui/core/Slide'; import Button from '@material-ui/core/Button'; import {useTranslation} from 'react-i18next'; -import {useHistory} from 'react-router-dom'; +import {Redirect} from 'react-router-dom'; const Transition = React.forwardRef(function Transition(props, ref) { return <Slide direction="up" ref={ref} {...props} />; }); const AddToMyEventDialog = ({event, open, onClose}) => { const {t} = useTranslation(); - const history = useHistory(); + const [redirectTo, setRedirectTo] = useState(null); + if (!event) return null; + if (redirectTo) { + return <Redirect push to={{path: redirectTo, state: {event: event.id}}} />; + } return ( <Dialog open={open} TransitionComponent={Transition} onClose={onClose}> <DialogContent>

@@ -33,25 +37,12 @@ <DialogActions>

<Button onClick={onClose} id="AddToMyEventCancel"> {t('event.add_to_my_events.cancel')} </Button> - <Button - id="AddToMyEventLogin" - onClick={() => { - history.push({ - pathName: '/login', - state: {event: event.id}, - }); - }} - > + <Button id="AddToMyEventLogin" onClick={() => setRedirectTo('/login')}> {t('event.add_to_my_events.login')} </Button> <Button id="AddToMyEventRegister" - onClick={() => { - history.push({ - pathName: '/register', - state: {event: event.id}, - }); - }} + onClick={() => setRedirectTo('/register')} color="primary" > {t('event.add_to_my_events.register')}