import { ArrowLeftIcon, CopyIcon, ExternalLinkIcon, HandCoinsIcon, } from "lucide-react"; import { useEffect, useState } from "react"; import { FixedFloatButton } from "src/components/FixedFloatButton"; import { FormattedBitcoinAmount } from "src/components/FormattedBitcoinAmount"; import FormattedFiatAmount from "src/components/FormattedFiatAmount"; import LottieLoading from "src/components/LottieLoading"; import LottieSuccess from "src/components/LottieSuccess"; import { Button } from "src/components/ui/button"; import { Card, CardContent, CardFooter, CardHeader, CardTitle, } from "src/components/ui/card"; import { LinkButton } from "src/components/ui/custom/link-button"; import { LoadingButton } from "src/components/ui/custom/loading-button"; import { Label } from "src/components/ui/label"; import { useTransaction } from "src/hooks/useTransaction"; import { copyToClipboard } from "src/lib/clipboard"; import { Transaction } from "src/types"; export function FixedFloatSwapInFlow({ loading, transaction, onReset, resetLabel, }: { loading: boolean; transaction: Transaction | null; onReset: () => void; resetLabel: string; feeLabel?: string; }) { const { data: invoiceData } = useTransaction( transaction ? transaction.paymentHash : "", true ); const [paymentDone, setPaymentDone] = useState(false); useEffect(() => { if (invoiceData?.settledAt) { setPaymentDone(true); } }, [invoiceData]); if (!transaction) { return ( <>

1% + on-chain fees

Continue

powered by{" "} Fixed Float

); } if (!paymentDone) { return ( Waiting for Payment...

Open Fixed Float
); } return ( Transaction Received!

Back to Wallet
); }