@blocklet/payment-react
Version:
Reusable react components for payment kit v2
40 lines (39 loc) • 1.51 kB
TypeScript
/**
* TotalSection Component
*
* Displays total amount, USD equivalent, exchange rate details,
* and quote information for dynamic pricing.
*/
import type { TPaymentCurrency } from '@blocklet/payment-types';
import type { SlippageConfigValue } from '../../components/slippage-config';
export interface RateInfo {
exchangeRate: string | null;
baseCurrency: string;
providerName?: string | null;
providerId?: string | null;
timestampMs?: number | null;
}
export interface QuoteDetailRow {
label: string;
value: string | React.ReactNode;
isSlippage?: boolean;
}
export interface TotalSectionProps {
totalAmountText: string;
totalUsdDisplay: string | null;
currency: TPaymentCurrency;
hasDynamicPricing: boolean;
rateDisplay: string | null;
rateInfo: RateInfo;
quoteDetailRows: QuoteDetailRow[];
currentSlippagePercent: number;
slippageConfig?: SlippageConfigValue;
isPriceLocked: boolean;
isSubscription: boolean;
completed?: boolean;
onSlippageChange?: (slippageConfig: SlippageConfigValue) => void;
isStripePayment?: boolean;
thenInfo?: string;
isRateLoading?: boolean;
}
export default function TotalSection({ totalAmountText, totalUsdDisplay, currency, hasDynamicPricing, rateDisplay, rateInfo, quoteDetailRows, currentSlippagePercent, slippageConfig, isPriceLocked, isSubscription, completed, onSlippageChange, isStripePayment, thenInfo, isRateLoading, }: TotalSectionProps): import("react").JSX.Element;