2021-07-05 11:41:32 +02:00
|
|
|
import {
|
|
|
|
Avatar,
|
|
|
|
Box,
|
|
|
|
chakra,
|
|
|
|
Container,
|
|
|
|
Flex,
|
|
|
|
Icon,
|
|
|
|
SimpleGrid,
|
|
|
|
useColorModeValue,
|
|
|
|
} from '@chakra-ui/react';
|
|
|
|
|
|
|
|
const testimonials = [
|
|
|
|
{
|
|
|
|
name: 'John Doe',
|
|
|
|
role: 'Chief Marketing Officer',
|
|
|
|
content:
|
|
|
|
'Remarkable',
|
|
|
|
avatar:
|
|
|
|
'https://images.unsplash.com/photo-1603415526960-f7e0328c63b1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'John Doe',
|
|
|
|
role: 'Chief Marketing Officer',
|
|
|
|
content:
|
|
|
|
'Remarkable',
|
|
|
|
avatar:
|
|
|
|
'https://images.unsplash.com/photo-1603415526960-f7e0328c63b1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'John Doe',
|
|
|
|
role: 'Chief Marketing Officer',
|
|
|
|
content:
|
|
|
|
'Remarkable',
|
|
|
|
avatar:
|
|
|
|
'https://images.unsplash.com/photo-1603415526960-f7e0328c63b1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'John Doe',
|
|
|
|
role: 'Chief Marketing Officer',
|
|
|
|
content:
|
|
|
|
'Remarkable',
|
|
|
|
avatar:
|
|
|
|
'https://images.unsplash.com/photo-1603415526960-f7e0328c63b1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80',
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const backgrounds = [
|
|
|
|
`url("data:image/svg+xml, %3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'560\' height=\'185\' viewBox=\'0 0 560 185\' fill=\'none\'%3E%3Cellipse cx=\'102.633\' cy=\'61.0737\' rx=\'102.633\' ry=\'61.0737\' fill=\'%23ED64A6\' /%3E%3Cellipse cx=\'399.573\' cy=\'123.926\' rx=\'102.633\' ry=\'61.0737\' fill=\'%23F56565\' /%3E%3Cellipse cx=\'366.192\' cy=\'73.2292\' rx=\'193.808\' ry=\'73.2292\' fill=\'%2338B2AC\' /%3E%3Cellipse cx=\'222.705\' cy=\'110.585\' rx=\'193.808\' ry=\'73.2292\' fill=\'%23ED8936\' /%3E%3C/svg%3E")`,
|
|
|
|
`url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='185' viewBox='0 0 560 185' fill='none'%3E%3Cellipse cx='457.367' cy='123.926' rx='102.633' ry='61.0737' transform='rotate(-180 457.367 123.926)' fill='%23ED8936'/%3E%3Cellipse cx='160.427' cy='61.0737' rx='102.633' ry='61.0737' transform='rotate(-180 160.427 61.0737)' fill='%2348BB78'/%3E%3Cellipse cx='193.808' cy='111.771' rx='193.808' ry='73.2292' transform='rotate(-180 193.808 111.771)' fill='%230BC5EA'/%3E%3Cellipse cx='337.295' cy='74.415' rx='193.808' ry='73.2292' transform='rotate(-180 337.295 74.415)' fill='%23ED64A6'/%3E%3C/svg%3E")`,
|
|
|
|
`url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='185' viewBox='0 0 560 185' fill='none'%3E%3Cellipse cx='102.633' cy='61.0737' rx='102.633' ry='61.0737' fill='%23ED8936'/%3E%3Cellipse cx='399.573' cy='123.926' rx='102.633' ry='61.0737' fill='%2348BB78'/%3E%3Cellipse cx='366.192' cy='73.2292' rx='193.808' ry='73.2292' fill='%230BC5EA'/%3E%3Cellipse cx='222.705' cy='110.585' rx='193.808' ry='73.2292' fill='%23ED64A6'/%3E%3C/svg%3E")`,
|
|
|
|
`url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='185' viewBox='0 0 560 185' fill='none'%3E%3Cellipse cx='457.367' cy='123.926' rx='102.633' ry='61.0737' transform='rotate(-180 457.367 123.926)' fill='%23ECC94B'/%3E%3Cellipse cx='160.427' cy='61.0737' rx='102.633' ry='61.0737' transform='rotate(-180 160.427 61.0737)' fill='%239F7AEA'/%3E%3Cellipse cx='193.808' cy='111.771' rx='193.808' ry='73.2292' transform='rotate(-180 193.808 111.771)' fill='%234299E1'/%3E%3Cellipse cx='337.295' cy='74.415' rx='193.808' ry='73.2292' transform='rotate(-180 337.295 74.415)' fill='%2348BB78'/%3E%3C/svg%3E")`,
|
|
|
|
];
|
|
|
|
|
|
|
|
function TestmonialCard(props) {
|
|
|
|
const { name, role, content, avatar, index } = props;
|
|
|
|
return (
|
|
|
|
<Flex
|
|
|
|
_hover={{ backgroundColor: 'gray.700' }}
|
|
|
|
boxShadow={'lg'}
|
|
|
|
maxW={'640px'}
|
|
|
|
direction={{ base: 'column-reverse', md: 'row' }}
|
|
|
|
width={'full'}
|
|
|
|
rounded={'xl'}
|
|
|
|
p={10}
|
|
|
|
justifyContent={'space-between'}
|
|
|
|
position={'relative'}
|
|
|
|
bg={useColorModeValue('white', 'gray.900')}
|
|
|
|
_after={{
|
|
|
|
content: '""',
|
|
|
|
position: 'absolute',
|
|
|
|
height: '21px',
|
|
|
|
width: '29px',
|
|
|
|
left: '35px',
|
|
|
|
top: '-10px',
|
|
|
|
backgroundSize: 'cover',
|
|
|
|
}}
|
|
|
|
_before={{
|
|
|
|
content: '""',
|
|
|
|
position: 'absolute',
|
|
|
|
zIndex: '-1',
|
|
|
|
height: 'full',
|
|
|
|
maxW: '640px',
|
|
|
|
width: 'full',
|
|
|
|
filter: 'blur(40px)',
|
|
|
|
transform: 'scale(0.98)',
|
|
|
|
backgroundRepeat: 'no-repeat',
|
|
|
|
backgroundSize: 'cover',
|
|
|
|
top: 0,
|
|
|
|
left: 0,
|
|
|
|
backgroundImage: backgrounds[index % 4],
|
|
|
|
}}>
|
|
|
|
<Flex
|
|
|
|
direction={'column'}
|
|
|
|
textAlign={'left'}
|
|
|
|
justifyContent={'space-between'}>
|
|
|
|
<chakra.p
|
|
|
|
fontWeight={'medium'}
|
|
|
|
fontSize={'15px'}
|
|
|
|
pb={4}>
|
|
|
|
{content}
|
|
|
|
</chakra.p>
|
|
|
|
<chakra.p fontWeight={'bold'} fontSize={14}>
|
|
|
|
{name}
|
|
|
|
<chakra.span
|
|
|
|
fontWeight={'medium'}
|
|
|
|
color={'gray.500'}>
|
|
|
|
{' '}
|
|
|
|
- {role}
|
|
|
|
</chakra.span>
|
|
|
|
</chakra.p>
|
|
|
|
</Flex>
|
|
|
|
<Avatar
|
|
|
|
src={avatar}
|
|
|
|
height={'80px'}
|
|
|
|
width={'80px'}
|
|
|
|
alignSelf={'center'}
|
|
|
|
m={{ base: '0 0 35px 0', md: '0 0 0 50px' }}
|
|
|
|
/>
|
|
|
|
</Flex>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default function GridBlurredBackdrop() {
|
|
|
|
return (
|
|
|
|
<Flex
|
|
|
|
textAlign={'center'}
|
|
|
|
pt={10}
|
|
|
|
justifyContent={'center'}
|
|
|
|
direction={'column'}
|
|
|
|
width={'full'}>
|
|
|
|
<Box width={{ base: 'full', sm: 'lg', lg: 'xl' }} margin={'auto'}>
|
|
|
|
<chakra.h3
|
|
|
|
fontWeight={'bold'}
|
|
|
|
fontSize={20}
|
|
|
|
textTransform={'uppercase'}
|
|
|
|
color={'purple.400'}>
|
|
|
|
Users love Cath
|
|
|
|
</chakra.h3>
|
|
|
|
<chakra.h1
|
|
|
|
py={5}
|
|
|
|
fontSize={48}
|
|
|
|
fontWeight={'bold'}
|
|
|
|
color={useColorModeValue('gray.700', 'gray.50')}>
|
|
|
|
You're in good company
|
|
|
|
</chakra.h1>
|
|
|
|
<chakra.h2
|
|
|
|
margin={'auto'}
|
|
|
|
width={'70%'}
|
|
|
|
fontWeight={'medium'}
|
|
|
|
color={useColorModeValue('gray.500', 'gray.400')}>
|
|
|
|
See why over{' '}
|
|
|
|
<chakra.strong color={useColorModeValue('gray.700', 'gray.50')}>
|
|
|
|
110000+
|
|
|
|
</chakra.strong>{' '}
|
|
|
|
users use Cath in their servers
|
|
|
|
</chakra.h2>
|
|
|
|
</Box>
|
|
|
|
<SimpleGrid
|
|
|
|
columns={{ base: 1, xl: 2 }}
|
|
|
|
spacing={'20'}
|
|
|
|
mt={16}
|
|
|
|
mx={'auto'}>
|
|
|
|
{testimonials.map((cardInfo, index) => (
|
2021-07-05 12:04:21 +02:00
|
|
|
<TestmonialCard {...cardInfo} key={index} />
|
2021-07-05 11:41:32 +02:00
|
|
|
))}
|
|
|
|
</SimpleGrid>
|
|
|
|
</Flex>
|
|
|
|
);
|
|
|
|
}
|