From ab34f2c7c9a6ab9af168fde6462a7e3475918064 Mon Sep 17 00:00:00 2001 From: Arnei Date: Thu, 20 Jun 2024 14:22:48 +0200 Subject: [PATCH] Fix display bug for path for new tobira page The display for the path for a new tobira page was always one character behind what the user entered. This fixes that. --- .../partials/ModalTabsAndPages/NewTobiraPage.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/events/partials/ModalTabsAndPages/NewTobiraPage.tsx b/src/components/events/partials/ModalTabsAndPages/NewTobiraPage.tsx index 8de969baed..cf70703e8a 100644 --- a/src/components/events/partials/ModalTabsAndPages/NewTobiraPage.tsx +++ b/src/components/events/partials/ModalTabsAndPages/NewTobiraPage.tsx @@ -122,12 +122,13 @@ const NewTobiraPage = ({ } } - const updatePath = (page: TobiraPage) => { + const updatePath = (page: TobiraPage, lastSegment: string) => { return formik.values.breadcrumbs .concat(page).map(function (page) { return page.segment; }) - .join('/'); + .join('/') + .replace(/([^\/]+$)/, lastSegment); } const goto = (page: TobiraPage) => { @@ -292,23 +293,27 @@ const NewTobiraPage = ({ placeholder={t('EVENTS.SERIES.NEW.TOBIRA.PATH_SEGMENT')} value={page.segment} onChange={(e) => { - dispatch(setTobiraPage({ + const payload = { ...currentPage, children: currentPage.children.map((p, k) => { if (k === key) { let newPage = { ...p, - path: updatePath(p), + path: updatePath(p, e.target.value), segment: e.target.value } + console.log(newPage.path) + console.log(e.target.value) + formik.setFieldValue("selectedPage", newPage) return newPage; } return {...p}; }) - })) + } + dispatch(setTobiraPage(payload)) }} > ) : (