From a677cb91af989a0b9d988055786fc55c1867132e Mon Sep 17 00:00:00 2001 From: Rohit Date: Sun, 6 Jul 2025 21:43:28 +0530 Subject: [PATCH] feat: add update dom mode --- src/components/browser/BrowserWindow.tsx | 30 ++++++++++-------------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/src/components/browser/BrowserWindow.tsx b/src/components/browser/BrowserWindow.tsx index e7a5057b..d3143f32 100644 --- a/src/components/browser/BrowserWindow.tsx +++ b/src/components/browser/BrowserWindow.tsx @@ -153,8 +153,6 @@ export const BrowserWindow = () => { const [selectedElement, setSelectedElement] = useState<{ selector: string, info: ElementInfo | null } | null>(null); const [currentListId, setCurrentListId] = useState(null); const [viewportInfo, setViewportInfo] = useState({ width: browserWidth, height: browserHeight }); - const [isDOMMode, setIsDOMMode] = useState(false); - const [currentSnapshot, setCurrentSnapshot] = useState(null); const [isLoading, setIsLoading] = useState(false); const [cachedChildSelectors, setCachedChildSelectors] = useState([]); @@ -165,7 +163,7 @@ export const BrowserWindow = () => { const highlighterUpdateRef = useRef(0); const { socket } = useSocketStore(); - const { notify, currentTextActionId, currentListActionId } = useGlobalInfoStore(); + const { notify, currentTextActionId, currentListActionId, updateDOMMode, isDOMMode, currentSnapshot } = useGlobalInfoStore(); const { getText, getList, paginationMode, paginationType, limitMode, captureStage } = useActionContext(); const { addTextStep, addListStep, updateListStepData } = useBrowserSteps(); @@ -250,51 +248,47 @@ export const BrowserWindow = () => { (data: RRWebDOMCastData) => { if (!data.userId || data.userId === user?.id) { if (data.snapshotData && data.snapshotData.snapshot) { - setCurrentSnapshot(data.snapshotData); - setIsDOMMode(true); + updateDOMMode(true, data.snapshotData); socket?.emit("dom-mode-enabled"); - setIsLoading(false); } else { setIsLoading(false); } } }, - [user?.id, socket] + [user?.id, socket, updateDOMMode] ); const domModeHandler = useCallback( (data: any) => { if (!data.userId || data.userId === user?.id) { - setIsDOMMode(true); + updateDOMMode(true); socket?.emit("dom-mode-enabled"); setIsLoading(false); } }, - [user?.id, socket] + [user?.id, socket, updateDOMMode] ); const screenshotModeHandler = useCallback( (data: any) => { if (!data.userId || data.userId === user?.id) { - setIsDOMMode(false); + updateDOMMode(false); socket?.emit("screenshot-mode-enabled"); - setCurrentSnapshot(null); setIsLoading(false); } }, - [user?.id] + [user?.id, updateDOMMode] ); const domModeErrorHandler = useCallback( (data: any) => { if (!data.userId || data.userId === user?.id) { - setIsDOMMode(false); - setCurrentSnapshot(null); + updateDOMMode(false); setIsLoading(false); } }, - [user?.id] + [user?.id, updateDOMMode] ); useEffect(() => { @@ -395,7 +389,7 @@ export const BrowserWindow = () => { socket.on("screencast", screencastHandler); socket.on("domcast", rrwebSnapshotHandler); socket.on("dom-mode-enabled", domModeHandler); - socket.on("screenshot-mode-enabled", screenshotModeHandler); + // socket.on("screenshot-mode-enabled", screenshotModeHandler); socket.on("dom-mode-error", domModeErrorHandler); } @@ -409,7 +403,7 @@ export const BrowserWindow = () => { socket.off("screencast", screencastHandler); socket.off("domcast", rrwebSnapshotHandler); socket.off("dom-mode-enabled", domModeHandler); - socket.off("screenshot-mode-enabled", screenshotModeHandler); + // socket.off("screenshot-mode-enabled", screenshotModeHandler); socket.off("dom-mode-error", domModeErrorHandler); } }; @@ -421,7 +415,7 @@ export const BrowserWindow = () => { screencastHandler, rrwebSnapshotHandler, domModeHandler, - screenshotModeHandler, + // screenshotModeHandler, domModeErrorHandler, ]);