From 169a6fe9b1cdef648686fae9f1b73bff68831494 Mon Sep 17 00:00:00 2001 From: Albin Henriksson <albhe428@student.liu.se> Date: Wed, 21 Apr 2021 12:45:07 +0200 Subject: [PATCH] Use duplicate api --- .../admin/competitions/CompetitionManager.tsx | 16 +++++++++++++++- client/src/pages/login/components/AdminLogin.tsx | 4 +--- .../PresentationEditorPage.tsx | 5 +---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/client/src/pages/admin/competitions/CompetitionManager.tsx b/client/src/pages/admin/competitions/CompetitionManager.tsx index 6c7da5db..81e644ad 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 aaaa92f4..7f478caf 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 7b6f2eba..01e80a3a 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) } -- GitLab