From b48f5be1555723864162ac605b3fdb9d0713fadc Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Sat, 14 Sep 2024 02:00:37 +0530 Subject: [PATCH] feat: match states --- src/components/organisms/RightSidePanel.tsx | 28 +++++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/components/organisms/RightSidePanel.tsx b/src/components/organisms/RightSidePanel.tsx index 4bc7ed45..8ad08568 100644 --- a/src/components/organisms/RightSidePanel.tsx +++ b/src/components/organisms/RightSidePanel.tsx @@ -28,10 +28,10 @@ interface RightSidePanelProps { } export const RightSidePanel: React.FC = ({ onFinishCapture }) => { - const [textLabels, setTextLabels] = useState<{ [id: number]: string }>({}); - const [errors, setErrors] = useState<{ [id: number]: string }>({}); - const [confirmedTextSteps, setConfirmedTextSteps] = useState<{ [id: number]: boolean }>({}); - const [confirmedListTextFields, setConfirmedListTextFields] = useState<{ [listId: number]: { [fieldKey: string]: boolean } }>({}); + const [textLabels, setTextLabels] = useState<{ [id: string]: string }>({}); + const [errors, setErrors] = useState<{ [id: string]: string }>({}); + const [confirmedTextSteps, setConfirmedTextSteps] = useState<{ [id: string]: boolean }>({}); + const [confirmedListTextFields, setConfirmedListTextFields] = useState<{ [listId: string]: { [fieldKey: string]: boolean } }>({}); const [showPaginationOptions, setShowPaginationOptions] = useState(false); const [showLimitOptions, setShowLimitOptions] = useState(false); const [captureStage, setCaptureStage] = useState<'initial' | 'pagination' | 'limit' | 'complete'>('initial'); @@ -90,13 +90,18 @@ export const RightSidePanel: React.FC = ({ onFinishCapture const handleListTextFieldDiscard = (listId: number, fieldKey: string) => { removeListTextField(listId, fieldKey); - setConfirmedListTextFields(prev => ({ - ...prev, - [listId]: { - ...(prev[listId] || {}), - [fieldKey]: false - } - })); + setConfirmedListTextFields(prev => { + const updatedListFields = { ...(prev[listId] || {}) }; + delete updatedListFields[fieldKey]; + return { + ...prev, + [listId]: updatedListFields + }; + }); + setErrors(prev => { + const { [fieldKey]: _, ...rest } = prev; + return rest; + }); }; const getTextSettingsObject = useCallback(() => { @@ -159,6 +164,7 @@ export const RightSidePanel: React.FC = ({ onFinishCapture return settings; }, [browserSteps, paginationType, limitType, customLimit]); + const resetListState = useCallback(() => { setShowPaginationOptions(false);