Fast Bridge
avail-widgets/fast-bridgeFreeComponent
Deprecated: use Nexus Widget instead. A legacy component built with Nexus to enable cross chain bridging.
Install it
npx shadcn@latest add https://elements.nexus.availproject.org/r/fast-bridge.jsonSource
1"use client";2import { type FC, useEffect, useState } from "react";3import { Card, CardContent } from "../ui/card";4import ChainSelect from "./components/chain-select";5import TokenSelect from "./components/token-select";6import { Button } from "../ui/button";7import { LoaderPinwheel, X } from "lucide-react";8import { useNexus } from "../nexus/NexusProvider";9import AmountInput from "./components/amount-input";10import FeeBreakdown from "./components/fee-breakdown";11import {12 Dialog,13 DialogContent,14 DialogHeader,15 DialogTitle,16 DialogTrigger,17} from "../ui/dialog";18import TransactionProgress from "./components/transaction-progress";19import AllowanceModal from "./components/allowance-modal";20import useBridge from "./hooks/useBridge";21import SourceBreakdown from "./components/source-breakdown";22import { type Address } from "viem";23import { Skeleton } from "../ui/skeleton";24import RecipientAddress from "./components/recipient-address";25import ViewHistory from "../view-history/view-history";2627interface FastBridgeProps {28 connectedAddress: Address;29 maxAmount?: string | number;30 prefill?: {31 token: string;32 chainId: number;33 amount?: string;34 recipient?: Address;35 };36 onComplete?: (explorerUrl?: string) => void;37 onStart?: () => void;38 onError?: (message: string) => void;39}4041const FastBridge: FC<FastBridgeProps> = ({42 connectedAddress,43 maxAmount,44 onComplete,45 onStart,46 onError,47 prefill,48}) => {49 const handleComplete = (explorerUrl?: string) => {50 onComplete?.(explorerUrl);51 };5253 const [isSourceMenuOpen, setIsSourceMenuOpen] = useState(false);54 const {55 nexusSDK,56 intent,57 bridgableBalance,58 allowance,59 network,60 fetchBridgableBalance,61 } = useNexus();6263 const {64 inputs,65 setInputs,66 timer,67 loading,68 refreshing,69 isDialogOpen,70 txError,71 setTxError,72 handleTransaction,73 reset,74 filteredBridgableBalance,75 startTransaction,76 setIsDialogOpen,77 commitAmount,78 lastExplorerUrl,79 steps,80 status,81 availableSources,82 selectedSourceChains,83 toggleSourceChain,84 isSourceSelectionInsufficient,85 isSourceSelectionReadyForAccept,86 sourceCoverageState,87 sourceCoveragePercent,88 missingToProceed,89 missingToSafety,90 selectedTotal,91 requiredTotal,92 requiredSafetyTotal,93 maxAvailableAmount,94 isInputsValid,95 } = useBridge({96 prefill,97 network: network ?? "mainnet",98 connectedAddress,99 nexusSDK,100 intent,101// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from avail-widgets
All 27 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | avail-widgets | Components | Free | 2 deps | |
| All Elementsall | avail-widgets | Components | Free | no deps | |
| Animated Spinneranimated-spinner | avail-widgets | Components | Free | no deps | |
| Badgebadge | avail-widgets | Components | Free | 2 deps | |
| Bridge Depositbridge-deposit | avail-widgets | Components | Free | 3 deps · 32 files | |
| Buttonbutton | avail-widgets | Components | Free | 2 deps | |
| Cardcard | avail-widgets | Components | Free | no deps | |
| Checkboxcheckbox | avail-widgets | Components | Free | 2 deps |
