1
0
mirror of https://github.com/vercel/commerce.git synced 2025-07-24 02:31:24 +00:00
Files
.github
.vscode
app
components
breadcrumb
cart
engine-sizes
filters
form
grid
home-page
icons
layout
manufacturers-grid
models
orders
page
accordion-block-item.tsx
accordion-block.tsx
category-preview.tsx
icon-with-text-block.tsx
image-display.tsx
image-with-text-block.tsx
layout.ts
mini-icon-block.tsx
page-content.tsx
rich-text-display.tsx
text-block.tsx
plp
product
profile
transmission-codes
ui
banner.tsx
display-tabs.tsx
divider.tsx
faq.tsx
hero-icon.tsx
hero.tsx
loading-dots.tsx
logo-square.tsx
opengraph-image.tsx
price.tsx
prose.tsx
side-dialog.tsx
spinner.tsx
tag.tsx
tooltip.tsx
contexts
fonts
hooks
lib
public
.env.example
.eslintrc.js
.gitignore
.nvmrc
.prettierignore
README.md
license.md
middleware.ts
next.config.js
package.json
pnpm-lock.yaml
postcss.config.js
prettier.config.js
tailwind.config.js
tsconfig.json
commerce/components/page/image-display.tsx
2024-06-11 20:28:07 +07:00

30 lines
680 B
TypeScript

import { getImage } from 'lib/shopify';
import Image from 'next/image';
import { twMerge } from 'tailwind-merge';
const ImageDisplay = async ({
fileId,
title,
className,
...props
}: {
fileId?: string;
title: string;
className?: string;
} & Omit<React.ComponentProps<typeof Image>, 'src' | 'alt'>) => {
if (!fileId) return null;
const image = await getImage(fileId);
return (
<Image
src={image.url}
alt={image.altText || `Display Image for ${title} section`}
width={image.width}
height={image.height}
className={twMerge('h-full w-full object-contain', className)}
{...props}
/>
);
};
export default ImageDisplay;