Skip to content

Commit 837347f

Browse files
authored
Ensures selected tokens are not the same (#7)
Updates the token selection logic to prevent selecting the same token for both input and output. It now swaps the output token if the user selects the same input token, and vice-versa. Also, removes the `disabled` prop for `` elements.
1 parent 88988d8 commit 837347f

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

client/src/pool-types/stable-surge/StableSurge.tsx

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,12 @@ export default function StableSurge() {
600600
fullWidth
601601
margin='normal'
602602
value={swapTokenInIndex}
603-
onChange={e => setSwapTokenInIndex(Number(e.target.value))}
603+
onChange={e => {
604+
if (Number(e.target.value) === swapTokenOutIndex) {
605+
setSwapTokenOutIndex(swapTokenInIndex);
606+
}
607+
setSwapTokenInIndex(Number(e.target.value));
608+
}}
604609
SelectProps={{
605610
native: true,
606611
}}
@@ -616,27 +621,20 @@ export default function StableSurge() {
616621
fullWidth
617622
margin='normal'
618623
value={swapTokenOutIndex}
619-
onChange={e => setSwapTokenOutIndex(Number(e.target.value))}
624+
onChange={e => {
625+
if (Number(e.target.value) === swapTokenInIndex) {
626+
setSwapTokenInIndex(swapTokenOutIndex);
627+
}
628+
setSwapTokenOutIndex(Number(e.target.value));
629+
}}
620630
SelectProps={{
621631
native: true,
622632
}}
623633
>
624-
<option value={0} disabled={swapTokenInIndex === 0}>
625-
{tokenNames[0]}
626-
</option>
627-
<option value={1} disabled={swapTokenInIndex === 1}>
628-
{tokenNames[1]}
629-
</option>
630-
{tokenCount >= 3 && (
631-
<option value={2} disabled={swapTokenInIndex === 2}>
632-
{tokenNames[2]}
633-
</option>
634-
)}
635-
{tokenCount >= 4 && (
636-
<option value={3} disabled={swapTokenInIndex === 3}>
637-
{tokenNames[3]}
638-
</option>
639-
)}
634+
<option value={0}>{tokenNames[0]}</option>
635+
<option value={1}>{tokenNames[1]}</option>
636+
{tokenCount >= 3 && <option value={2}>{tokenNames[2]}</option>}
637+
{tokenCount >= 4 && <option value={3}>{tokenNames[3]}</option>}
640638
</TextField>
641639
<TextField
642640
label='Amount In'

0 commit comments

Comments
 (0)