diff --git a/client/src/pages/admin/competitions/CompetitionManager.tsx b/client/src/pages/admin/competitions/CompetitionManager.tsx index 6c7da5db82e04e57b4bef86ba2898c9b479b4ff0..81e644adc4f2b62661193ebc5402c5b81d0ec693 100644 --- a/client/src/pages/admin/competitions/CompetitionManager.tsx +++ b/client/src/pages/admin/competitions/CompetitionManager.tsx @@ -83,6 +83,20 @@ const CompetitionManager: React.FC = (props: any) => { } } + const handleDuplicateCompetition = async () => { + if (activeId) { + await axios + .post(`/competitions/${activeId}/copy`) + .then(() => { + setAnchorEl(null) + dispatch(getCompetitions()) + }) + .catch(({ response }) => { + console.warn(response.data) + }) + } + } + const handleFilterChange = (newParams: CompetitionFilterParams) => { dispatch(setFilterParams(newParams)) dispatch(getCompetitions()) @@ -177,7 +191,7 @@ const CompetitionManager: React.FC = (props: any) => { /> <Menu id="simple-menu" anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose}> <MenuItem onClick={() => history.push(`/presenter/id=${activeId}&code=123123`)}>Starta</MenuItem> - <MenuItem onClick={handleClose}>Duplicera</MenuItem> + <MenuItem onClick={handleDuplicateCompetition}>Duplicera</MenuItem> <RemoveMenuItem onClick={handleDeleteCompetition}>Ta bort</RemoveMenuItem> </Menu> </div> diff --git a/client/src/pages/login/components/AdminLogin.tsx b/client/src/pages/login/components/AdminLogin.tsx index aaaa92f4eaf0bd385bd024d78a206f1354daa092..7f478caf14a7dae4cbc866e0f67dbf2efce49efd 100644 --- a/client/src/pages/login/components/AdminLogin.tsx +++ b/client/src/pages/login/components/AdminLogin.tsx @@ -76,9 +76,7 @@ const AdminLogin: React.FC = () => { fullWidth variant="contained" color="secondary" - disabled={ - !formik.isValid || formik.values.model?.email === '' || formik.values.model?.email === '' || loading - } + disabled={!!formik.errors.model?.password || !!formik.errors.model?.email || loading} > Logga in </Button> diff --git a/client/src/pages/presentationEditor/PresentationEditorPage.tsx b/client/src/pages/presentationEditor/PresentationEditorPage.tsx index 7b6f2eba02fad8d973bf984d83b16abaecb2b4c0..01e80a3a53b0274d698db64e33ec0ec6c9d06a2f 100644 --- a/client/src/pages/presentationEditor/PresentationEditorPage.tsx +++ b/client/src/pages/presentationEditor/PresentationEditorPage.tsx @@ -128,10 +128,7 @@ const PresentationEditorPage: React.FC = () => { } const handleDuplicateSlide = async () => { - const response = await axios.post(`/competitions/${id}/slides`) - const newOrder = response.data.items[response.data.total_count - 1].order - const oldSlide = competition.slides.find((slide) => slide.order === contextState.slideOrder) - await axios.put(`/competitions/${id}/slides/${newOrder}`, { timer: oldSlide?.timer, title: oldSlide?.title }) + await axios.post(`/competitions/${id}/slides/${contextState.slideOrder}/copy`) dispatch(getEditorCompetition(id)) setContextState(initialState) }