added working logic on swap and error handling
This commit is contained in:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user