forked from crowetic/commerce
.github
.vscode
app
components
cart
grid
icons
layout
product
carousel.tsx
label.tsx
loading-dots.tsx
logo-square.tsx
opengraph-image.tsx
price.tsx
prose.tsx
fonts
lib
.env.example
.eslintrc.js
.gitignore
.nvmrc
.prettierignore
README.md
license.md
next.config.js
package.json
pnpm-lock.yaml
postcss.config.js
prettier.config.js
tailwind.config.js
tsconfig.json
25 lines
611 B
TypeScript
25 lines
611 B
TypeScript
import clsx from 'clsx';
|
|
|
|
const Price = ({
|
|
amount,
|
|
className,
|
|
currencyCode = 'USD',
|
|
currencyCodeClassName
|
|
}: {
|
|
amount: string;
|
|
className?: string;
|
|
currencyCode: string;
|
|
currencyCodeClassName?: string;
|
|
} & React.ComponentProps<'p'>) => (
|
|
<p suppressHydrationWarning={true} className={className}>
|
|
{`${new Intl.NumberFormat(undefined, {
|
|
style: 'currency',
|
|
currency: currencyCode,
|
|
currencyDisplay: 'narrowSymbol'
|
|
}).format(parseFloat(amount))}`}
|
|
<span className={clsx('ml-1 inline', currencyCodeClassName)}>{`${currencyCode}`}</span>
|
|
</p>
|
|
);
|
|
|
|
export default Price;
|