nyx-dashboard/components/Testimonials/Testimonials.js

170 lines
7.5 KiB
JavaScript
Raw Normal View History

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} />
))}
</SimpleGrid>
</Flex>
);
}