2
0
Files
bot/ee/apps/landing-page/components/Homepage/Features/FeatureCard.tsx

47 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-08-08 08:21:36 +02:00
import { IconProps, Text, Flex, VStack } from '@chakra-ui/react'
2022-03-17 14:37:00 +01:00
import React, { useState } from 'react'
type FeatureCardProps = {
Icon: (props: IconProps) => JSX.Element
title: string
content: string
}
export const FeatureCard = ({ Icon, title, content }: FeatureCardProps) => {
2022-03-17 14:37:00 +01:00
const [isHovered, setIsHovered] = useState(false)
return (
2022-03-17 14:37:00 +01:00
<VStack
p="6"
bgColor="gray.800"
pos="relative"
rounded="lg"
spacing="4"
onMouseEnter={() => setIsHovered(true)}
onMouseLeave={() => setIsHovered(false)}
>
<Flex
boxSize="50px"
bgColor="blue.500"
rounded="lg"
color="white"
justify="center"
align="center"
pos="absolute"
top="-25px"
shadow="lg"
2022-03-17 14:37:00 +01:00
transform={isHovered ? 'translateY(-5px)' : 'translateY(0px)'}
transition="transform 300ms ease-out"
>
<Icon boxSize="25px" />
</Flex>
2022-03-17 14:37:00 +01:00
<Text textAlign="center" fontWeight="semibold" fontSize="lg">
{title}
</Text>
<Text textAlign="center" color="gray.500">
{content}
</Text>
</VStack>
)
}