From 09064e9533d84450462d3675a2b0a50370b83dbe Mon Sep 17 00:00:00 2001 From: Rohit Date: Wed, 25 Jun 2025 12:44:27 +0530 Subject: [PATCH] feat: add update screenshot step data --- src/context/browserSteps.tsx | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/context/browserSteps.tsx b/src/context/browserSteps.tsx index 6d8b8f07..fa8358be 100644 --- a/src/context/browserSteps.tsx +++ b/src/context/browserSteps.tsx @@ -6,14 +6,15 @@ export interface TextStep { label: string; data: string; selectorObj: SelectorObject; - actionId?: string; // Add actionId to track which action created this step + actionId?: string; } interface ScreenshotStep { id: number; type: 'screenshot'; fullPage: boolean; - actionId?: string; // Add actionId to track which action created this step + actionId?: string; + screenshotData?: string; } export interface ListStep { @@ -26,7 +27,7 @@ export interface ListStep { selector: string; }; limit?: number; - actionId?: string; // Add actionId to track which action created this step + actionId?: string; } export type BrowserStep = TextStep | ScreenshotStep | ListStep; @@ -50,7 +51,8 @@ interface BrowserStepsContextType { updateListStepLimit: (listId: number, limit: number) => void; updateListStepData: (listId: number, extractedData: any[]) => void; removeListTextField: (listId: number, fieldKey: string) => void; - deleteStepsByActionId: (actionId: string) => void; // New function to delete steps by actionId + deleteStepsByActionId: (actionId: string) => void; + updateScreenshotStepData: (id: number, screenshotData: string) => void; } const BrowserStepsContext = createContext(undefined); @@ -179,6 +181,20 @@ export const BrowserStepsProvider: React.FC<{ children: React.ReactNode }> = ({ }); }; + const updateScreenshotStepData = (id: number, screenshotData: string) => { + setBrowserSteps(prevSteps => { + return prevSteps.map(step => { + if (step.type === 'screenshot' && step.id === id) { + return { + ...step, + screenshotData: screenshotData + }; + } + return step; + }); + }); + }; + const updateListStepLimit = (listId: number, limit: number) => { setBrowserSteps(prevSteps => prevSteps.map(step => { @@ -220,7 +236,8 @@ export const BrowserStepsProvider: React.FC<{ children: React.ReactNode }> = ({ updateListStepLimit, updateListStepData, removeListTextField, - deleteStepsByActionId, // Export the new function + deleteStepsByActionId, + updateScreenshotStepData, }}> {children}