commerce/components/price.tsx
2024-12-27 03:24:35 +01:00

28 lines
680 B
TypeScript

import clsx from 'clsx';
const Price = ({
amount,
className,
currencyCode = 'USD',
needSplit = false,
currencyCodeClassName
}: {
amount: string;
className?: string;
currencyCode: string;
needSplit?: boolean;
currencyCodeClassName?: string;
} & React.ComponentProps<'p'>) => (
<p suppressHydrationWarning={true} className={className}>
{`${new Intl.NumberFormat(undefined, {
style: 'currency',
currency: currencyCode,
currencyDisplay: 'narrowSymbol'
}).format(parseFloat(amount) / (needSplit ? 100 : 1))}`}
<span className={clsx('ml-1 inline', currencyCodeClassName)}>{`${currencyCode}`}</span>
</p>
);
export default Price;