From 6f064813eaa0b87f282a7fceb317f9c374db7a82 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 4 Nov 2024 21:10:02 +0530 Subject: [PATCH 1/2] feat: disable capture list initial stage confirmation if !listSelector and browser steps --- src/components/organisms/RightSidePanel.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/organisms/RightSidePanel.tsx b/src/components/organisms/RightSidePanel.tsx index f2871aea..f578b485 100644 --- a/src/components/organisms/RightSidePanel.tsx +++ b/src/components/organisms/RightSidePanel.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback, useEffect } from 'react'; +import React, { useState, useCallback, useEffect, useMemo } from 'react'; import { Button, Paper, Box, TextField, IconButton } from "@mui/material"; import EditIcon from '@mui/icons-material/Edit'; import TextFieldsIcon from '@mui/icons-material/TextFields'; @@ -373,6 +373,19 @@ export const RightSidePanel: React.FC = ({ onFinishCapture stopGetScreenshot(); }; + const isConfirmCaptureDisabled = useMemo(() => { + // Check if we are in the initial stage and if there are no browser steps or no valid list selectors with fields + if (captureStage !== 'initial') return false; + + const hasValidListSelector = browserSteps.some(step => + step.type === 'list' && + step.listSelector && + Object.keys(step.fields).length > 0 + ); + + return !hasValidListSelector; + }, [captureStage, browserSteps]); + return ( {/* @@ -387,7 +400,7 @@ export const RightSidePanel: React.FC = ({ onFinishCapture