30 lines
595 B
JavaScript
30 lines
595 B
JavaScript
|
import cn from 'classnames'
|
||
|
import Link from 'next/link'
|
||
|
import Image from 'next/image'
|
||
|
|
||
|
export default function CoverImage({ title, url, slug }) {
|
||
|
const image = (
|
||
|
<Image
|
||
|
width={2000}
|
||
|
height={1000}
|
||
|
alt={`Cover Image for ${title}`}
|
||
|
className={cn('shadow-small', {
|
||
|
'hover:shadow-medium transition-shadow duration-200': slug,
|
||
|
})}
|
||
|
src={url}
|
||
|
/>
|
||
|
)
|
||
|
|
||
|
return (
|
||
|
<div className="sm:mx-0">
|
||
|
{slug ? (
|
||
|
<Link href={slug}>
|
||
|
<a aria-label={title}>{image}</a>
|
||
|
</Link>
|
||
|
) : (
|
||
|
image
|
||
|
)}
|
||
|
</div>
|
||
|
)
|
||
|
}
|