"use client"; import { AnimatePresence, motion } from "framer-motion"; import { Loader2 } from "lucide-react"; import { CurrencyIcon } from "@/components/converter/currency-icon"; import { formatAmount } from "@/lib/format"; import type { RateAsset } from "@/lib/rates"; type AmountValidationResult = | { ok: true; value: number } | { ok: false; error: string }; interface MultiConversionItem { asset: RateAsset; value: number; } interface ConverterCardMultiConversionProps { shouldReduceMotion: boolean; debouncedValidation: AmountValidationResult; fromAsset?: RateAsset; multiConversions: MultiConversionItem[]; isRatesLoading: boolean; } export function ConverterCardMultiConversion({ shouldReduceMotion, debouncedValidation, fromAsset, multiConversions, isRatesLoading, }: ConverterCardMultiConversionProps) { return (
Multi conversion
{fromAsset && debouncedValidation.ok ? ( for {formatAmount(debouncedValidation.value, fromAsset)} {fromAsset.code} ) : null}{debouncedValidation.error}
) : null} {debouncedValidation.ok && multiConversions.length === 0 ? (No additional assets available for multi conversion.
) : null} {debouncedValidation.ok && multiConversions.length > 0 ? (