added working logic on swap and error handling

This commit is contained in:
2025-11-11 18:58:48 -04:00
parent 2fbebed014
commit 1fa6d686f4
2 changed files with 48 additions and 10 deletions

View File

@@ -36,7 +36,7 @@ export function SwapForm() {
const { tokenDetails, loading } = useTokenDetails(address);
// Get available tokens for the selected "from" token
const { availableTokens } = useGetPoolsByToken(selectedFromToken?.address);
const { availableTokens, error: poolsError } = useGetPoolsByToken(selectedFromToken?.address);
// Only calculate swap amounts when both tokens are selected
// Use useMemo to prevent creating a new array reference on every render
@@ -326,7 +326,7 @@ export function SwapForm() {
))
) : selectedFromToken ? (
<div className="px-4 py-3 text-sm text-muted-foreground">
{loading ? 'Loading available tokens...' : 'No tokens available for swap'}
{loading ? 'Loading available tokens...' : poolsError || 'No tokens available for swap'}
</div>
) : (
<div className="px-4 py-3 text-sm text-muted-foreground">
@@ -339,6 +339,13 @@ export function SwapForm() {
</div>
</div>
{/* Error message for unsupported tokens */}
{poolsError && selectedFromToken && (
<div className="px-4 py-3 bg-destructive/10 border border-destructive/20 rounded-lg">
<p className="text-sm text-destructive">{poolsError}</p>
</div>
)}
{/* Gas Estimate, Slippage, and Fees */}
{isConnected && fromAmount && toAmount && (
<div className="px-4 py-2 bg-muted/30 rounded-lg space-y-2">
@@ -377,7 +384,7 @@ export function SwapForm() {
<Button
className="w-full h-14 text-lg"
onClick={() => setIsReviewModalOpen(true)}
disabled={!isConnected || !fromAmount || !toAmount}
disabled={!isConnected || !fromAmount || !toAmount || !!poolsError}
>
{!isConnected
? t('swap.connectWalletToSwap')