1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-09-19 22:15:53 +02:00
.profile/components/Portfolio/PortfolioItem.tsx

44 lines
1.3 KiB
TypeScript
Raw Normal View History

2021-04-18 01:56:23 +02:00
import Image from 'next/image'
import { ShadowContainer } from '@/components/design/ShadowContainer'
2021-12-04 15:52:51 +01:00
2021-04-18 01:56:23 +02:00
export interface PortfolioItemProps {
title: string
description: string
link: string
image: string
}
export const PortfolioItem = (props: PortfolioItemProps): JSX.Element => {
2021-04-18 01:56:23 +02:00
const { title, description, link, image } = props
return (
2021-12-04 15:52:51 +01:00
<ShadowContainer className='relative cursor-pointer items-center sm:ml-10'>
<a
className='group inline-flex justify-center'
target='_blank'
rel='noopener noreferrer'
href={link}
aria-label={title}
>
<div className='flex justify-center'>
<Image
2022-02-22 21:19:42 +01:00
quality={100}
2022-10-27 19:13:29 +02:00
className='h-auto w-auto transition-opacity duration-500 group-hover:opacity-20 dark:group-hover:opacity-5'
width={300}
height={300}
src={image}
alt={title}
/>
</div>
2021-12-04 15:52:51 +01:00
<div className='absolute bottom-0 h-auto overflow-hidden text-center opacity-0 transition-opacity duration-500 group-hover:opacity-100'>
<h3 className='my-6 text-xl font-semibold text-yellow dark:text-yellow-dark'>
{title}
</h3>
<p className='my-6'>{description}</p>
</div>
</a>
</ShadowContainer>
2021-04-18 01:56:23 +02:00
)
}