25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

71 lines
1.8 KiB

  1. /** @jsxRuntime classic */
  2. /** @jsx jsx */
  3. import { jsx, Flex, Box, Image, Text, Heading, Link } from 'theme-ui';
  4. import { FaTwitter, FaGithub, FaDribbble } from 'react-icons/fa';
  5. const TeamMember = ({ member }) => {
  6. return (
  7. <Box sx={styles.section}>
  8. <Flex as="figure" sx={styles.avatar}>
  9. <Image src={member?.avatar} alt={member?.name} />
  10. </Flex>
  11. <Box sx={styles.about}>
  12. <Heading as="h3">{member?.name}</Heading>
  13. <Text as="p">{member?.designation}</Text>
  14. <Box sx={styles.socialLinks}>
  15. {member?.socialLinks?.map((social, index) => (
  16. <Link href={social?.link} key={index}>
  17. {social?.name === 'twitter' && (
  18. <FaTwitter size="18px" color="#55ACEE" />
  19. )}
  20. {social?.name === 'github' && (
  21. <FaGithub size="18px" color="#161614" />
  22. )}
  23. {social?.name === 'dribbble' && (
  24. <FaDribbble
  25. size="18px"
  26. color="#B2215A"
  27. style={{ backgroundColor: '#E74D89', borderRadius: 20 }}
  28. />
  29. )}
  30. </Link>
  31. ))}
  32. </Box>
  33. </Box>
  34. </Box>
  35. );
  36. };
  37. export default TeamMember;
  38. const styles = {
  39. avatar: {
  40. alignItems: 'center',
  41. justifyContent: 'center',
  42. },
  43. about: {
  44. mt: [4],
  45. textAlign: ['center', null, null, 'left'],
  46. h3: {
  47. color: 'heading',
  48. fontFamily: 'body',
  49. fontSize: [3, null, 17, null, 4],
  50. },
  51. p: {
  52. color: '#7589A1',
  53. letterSpacing: '-0.2px',
  54. mt: [2],
  55. },
  56. },
  57. socialLinks: {
  58. display: 'flex',
  59. alignItems: 'center',
  60. justifyContent: ['center', null, null, 'left'],
  61. mt: [3],
  62. a: {
  63. display: 'inline-flex',
  64. mr: [2],
  65. },
  66. },
  67. };