From 6f047beb3d82c224ce8a65dba2faad12bfdd4600 Mon Sep 17 00:00:00 2001 From: RohitR311 Date: Tue, 6 May 2025 15:53:13 +0530 Subject: [PATCH] feat: update list step limit --- src/components/recorder/RightSidePanel.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/recorder/RightSidePanel.tsx b/src/components/recorder/RightSidePanel.tsx index 89a2c486..95201322 100644 --- a/src/components/recorder/RightSidePanel.tsx +++ b/src/components/recorder/RightSidePanel.tsx @@ -7,7 +7,7 @@ import { WorkflowFile } from "maxun-core"; import Typography from "@mui/material/Typography"; import { useGlobalInfoStore } from "../../context/globalInfo"; import { PaginationType, useActionContext, LimitType } from '../../context/browserActions'; -import { useBrowserSteps } from '../../context/browserSteps'; +import { BrowserStep, useBrowserSteps } from '../../context/browserSteps'; import { useSocketStore } from '../../context/socket'; import { ScreenshotSettings } from '../../shared/types'; import InputAdornment from '@mui/material/InputAdornment'; @@ -69,7 +69,7 @@ export const RightSidePanel: React.FC = ({ onFinishCapture startAction, finishAction } = useActionContext(); - const { browserSteps, updateBrowserTextStepLabel, deleteBrowserStep, addScreenshotStep, updateListTextFieldLabel, removeListTextField } = useBrowserSteps(); + const { browserSteps, updateBrowserTextStepLabel, deleteBrowserStep, addScreenshotStep, updateListTextFieldLabel, removeListTextField, updateListStepLimit } = useBrowserSteps(); const { id, socket } = useSocketStore(); const { t } = useTranslation(); @@ -349,6 +349,13 @@ export const RightSidePanel: React.FC = ({ onFinishCapture ) ); + const getLatestListStep = (steps: BrowserStep[]) => { + const listSteps = steps.filter(step => step.type === 'list'); + if (listSteps.length === 0) return null; + + return listSteps.sort((a, b) => b.id - a.id)[0]; + }; + const handleConfirmListCapture = useCallback(() => { switch (captureStage) { case 'initial': @@ -385,6 +392,12 @@ export const RightSidePanel: React.FC = ({ onFinishCapture notify('error', t('right_panel.errors.invalid_limit')); return; } + + const latestListStep = getLatestListStep(browserSteps); + if (latestListStep) { + updateListStepLimit(latestListStep.id, limit); + } + stopLimitMode(); setShowLimitOptions(false); setIsCaptureListConfirmed(true);