Skip to content

Commit 714346a

Browse files
committed
Update ReviewRequiredSignersCard to prevent state updates during editing
- Modified useEffect to update temporary required signers only when not in editing mode, enhancing user experience. - Improved value handling in ToggleGroup to ensure valid numeric input and prevent invalid states.
1 parent 1c135af commit 714346a

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/components/pages/homepage/wallets/new-wallet-flow/create/ReviewRequiredSignersCard.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@ const ReviewRequiredSignersCard: React.FC<ReviewRequiredSignersCardProps> = ({
3636
const [isEditing, setIsEditing] = useState(false);
3737
const [tempNumRequired, setTempNumRequired] = useState(numRequiredSigners);
3838

39-
// Update temp states when props change
39+
// Update temp states when props change (but not when editing)
4040
useEffect(() => {
41-
setTempNumRequired(numRequiredSigners);
42-
}, [numRequiredSigners]);
41+
if (!isEditing) {
42+
setTempNumRequired(numRequiredSigners);
43+
}
44+
}, [numRequiredSigners, isEditing]);
4345

4446
// Exit edit mode if script type changes from atLeast to something else
4547
useEffect(() => {
@@ -102,9 +104,14 @@ const ReviewRequiredSignersCard: React.FC<ReviewRequiredSignersCardProps> = ({
102104
<div className="w-full overflow-x-auto pb-2">
103105
<ToggleGroup
104106
type="single"
105-
value={tempNumRequired.toString()}
107+
value={tempNumRequired > 0 ? tempNumRequired.toString() : undefined}
106108
onValueChange={(v) => {
107-
if (v) setTempNumRequired(Number(v));
109+
if (v && v !== "" && !isNaN(Number(v))) {
110+
const newValue = Number(v);
111+
if (newValue > 0 && newValue <= signersCount) {
112+
setTempNumRequired(newValue);
113+
}
114+
}
108115
}}
109116
className="justify-start flex-nowrap"
110117
>

0 commit comments

Comments
 (0)