Skip to content

Commit f04a112

Browse files
authored
Merge pull request #176 from MeshJS/bug/quorum
Update ReviewRequiredSignersCard to prevent state updates during editing
2 parents 1c135af + 714346a commit f04a112

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)