From 0f8aaff6e38d8de326c981dd0d96c430f5bcf39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Wed, 7 Jan 2026 16:56:19 +0100 Subject: [PATCH] pl-fe: another attempt on modals history handling improvement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/pl-fe/src/components/modal-root.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/pl-fe/src/components/modal-root.tsx b/packages/pl-fe/src/components/modal-root.tsx index 82712d90f..23aefbb22 100644 --- a/packages/pl-fe/src/components/modal-root.tsx +++ b/packages/pl-fe/src/components/modal-root.tsx @@ -1,5 +1,6 @@ import { useNavigate, useRouter } from '@tanstack/react-router'; import clsx from 'clsx'; +import range from 'lodash/range'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { FormattedMessage, defineMessages, useIntl } from 'react-intl'; @@ -145,7 +146,9 @@ const ModalRoot: React.FC = ({ children, onCancel, onClose, type, mo const ensureHistoryBuffer = () => { if (router.state.location.state.modalIndex === undefined || (router.state.location.state.modalIndex < modalIndex)) { - navigate({ to: router.history.location.pathname, params: (prev) => prev, search: (prev) => prev, state: (prev) => ({ ...prev, modalIndex }) }); + range((router.state.location.state.modalIndex ?? -1), modalIndex).forEach((index) => { + navigate({ to: router.history.location.pathname, params: (prev) => prev, search: (prev) => prev, state: (prev) => ({ ...prev, modalIndex: index + 1 }) }); + }); } else if (router.state.location.state.modalIndex > modalIndex) { router.history.go(-1); }