CHANGED: added conditional render for CardMedia component
This commit is contained in:
@@ -1,17 +1,33 @@
|
||||
import Image from 'next/image';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { CardMediaProps, CardMediaType } from './card.types';
|
||||
|
||||
export const CardMedia = forwardRef<CardMediaType, CardMediaProps>(
|
||||
(
|
||||
{ rounded = true, preview = true, type, className = '', ...props },
|
||||
{
|
||||
alt,
|
||||
src,
|
||||
type,
|
||||
quality = 80,
|
||||
rounded = true,
|
||||
preview = true,
|
||||
className = '',
|
||||
...props
|
||||
},
|
||||
ref,
|
||||
) => {
|
||||
const classes =
|
||||
`m3 m3-card-media${rounded ? ' m3-rounded' : ''}${preview ? ' m3-preview' : ''} ${className}`.trimEnd();
|
||||
return React.createElement(type, {
|
||||
...props,
|
||||
className: classes,
|
||||
ref: ref,
|
||||
});
|
||||
|
||||
switch (type) {
|
||||
case 'img':
|
||||
return <Image alt={alt} quality={quality} src={src} />;
|
||||
default:
|
||||
return React.createElement(type, {
|
||||
...props,
|
||||
className: classes,
|
||||
ref: ref,
|
||||
});
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user