OurTeamPage.jsx 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import Breadcrumb from "../components/Breadcrumbs";
  2. import {Box, Container, Grid, Typography, useMediaQuery} from "@mui/material";
  3. import FacebookIcon from "@mui/icons-material/Facebook";
  4. import InstagramIcon from "@mui/icons-material/Instagram";
  5. import TwitterIcon from "@mui/icons-material/Twitter";
  6. import YouTubeIcon from "@mui/icons-material/YouTube";
  7. import Social from "../components/SocialLink";
  8. import LocalPhoneIcon from '@mui/icons-material/LocalPhone';
  9. import EmailIcon from '@mui/icons-material/Email';
  10. import rom from "../img/our team/romb.png"
  11. import one from "../img/our team/1.jpg"
  12. import two from "../img/our team/2.jpg"
  13. import three from "../img/our team/3.jpg"
  14. import four from "../img/our team/4.jpg"
  15. let defaultTeam = [
  16. {
  17. img: one,
  18. name: 'MARIA CULHANE',
  19. spec: 'online seller',
  20. desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus blanditiis distinctio eum mollitia nisi nostrum nulla omnis quia, veniam!',
  21. links: [
  22. {icon: FacebookIcon, url: 'https://www.facebook.com/'},
  23. {icon: InstagramIcon, url: 'https://www.instagram.com/'},
  24. {icon: TwitterIcon, url: 'https://twitter.com/home'},
  25. {icon: YouTubeIcon, url: 'https://www.youtube.com/'},
  26. ],
  27. phone: '+123 456 77 88',
  28. email: 'chmoleg@gmail.com'
  29. },
  30. {
  31. img: two,
  32. name: 'EMERY HERWITZ',
  33. spec: 'online seller',
  34. desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus blanditiis distinctio eum mollitia nisi nostrum nulla omnis quia, veniam!',
  35. links: [
  36. {icon: FacebookIcon, url: 'https://www.facebook.com/'},
  37. {icon: InstagramIcon, url: 'https://www.instagram.com/'},
  38. {icon: TwitterIcon, url: 'https://twitter.com/home'},
  39. {icon: YouTubeIcon, url: 'https://www.youtube.com/'},
  40. ],
  41. phone: '+123 456 77 88',
  42. email: 'info@gmail.com'
  43. },
  44. {
  45. img: three,
  46. name: 'ALLISON WORKMAN',
  47. spec: 'online seller',
  48. desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus blanditiis distinctio eum mollitia nisi nostrum nulla omnis quia, veniam!',
  49. links: [
  50. {icon: FacebookIcon, url: 'https://www.facebook.com/'},
  51. {icon: InstagramIcon, url: 'https://www.instagram.com/'},
  52. {icon: TwitterIcon, url: 'https://twitter.com/home'},
  53. {icon: YouTubeIcon, url: 'https://www.youtube.com/'},
  54. ],
  55. phone: '+123 456 77 88',
  56. email: 'info@gmail.com'
  57. },
  58. {
  59. img: four,
  60. name: 'MADELYN BATOR',
  61. spec: 'online seller',
  62. desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus blanditiis distinctio eum mollitia nisi nostrum nulla omnis quia, veniam!',
  63. links: [
  64. {icon: FacebookIcon, url: 'https://www.facebook.com/'},
  65. {icon: InstagramIcon, url: 'https://www.instagram.com/'},
  66. {icon: TwitterIcon, url: 'https://twitter.com/home'},
  67. {icon: YouTubeIcon, url: 'https://www.youtube.com/'},
  68. ],
  69. phone: '+123 456 77 88',
  70. email: 'info@gmail.com'
  71. }
  72. ]
  73. const ItemTeam = ({item: {img, name, spec, desc, links, phone, email}, breakpoint}) => {
  74. return (
  75. <Grid sx={{
  76. backgroundColor: '#fff',
  77. marginBottom: '50px'
  78. }}
  79. item xs={12} sm={5.5}
  80. >
  81. <Box>
  82. <img style={{maxWidth: '100%'}} src={img} alt='face'/>
  83. </Box>
  84. <Box
  85. display='flex'
  86. flexDirection='column'
  87. justifyContent='center'
  88. alignItems='center'
  89. padding='50px'
  90. >
  91. <Typography
  92. textAlign="center"
  93. variant='h5'
  94. fontFamily='sarif'
  95. letterSpacing='7px'
  96. marginBottom='10px'
  97. >
  98. {name}
  99. </Typography>
  100. <img style={{
  101. width: '7px',
  102. maxHeight: '7px',
  103. }} src={rom} alt='item'/>
  104. <Typography
  105. textAlign="center"
  106. variant='body1'
  107. letterSpacing='5px'
  108. marginBottom='10px'
  109. marginTop='8px'
  110. color="#616161"
  111. >
  112. {spec}
  113. </Typography>
  114. <Typography
  115. textAlign="center"
  116. variant='body2'
  117. marginBottom='30px'
  118. fontWeight='300'
  119. color="#616161"
  120. lineHeight='1.7em'
  121. >
  122. {desc}
  123. </Typography>
  124. <Box marginBottom='30px'>
  125. {links.map(item => <Social key={item.url} Icon={item.icon} link={item.url}/>)}
  126. </Box>
  127. <Box
  128. display='flex'
  129. flexDirection={breakpoint? 'column': 'row'}
  130. justifyContent='space-between'
  131. alignItems='center'
  132. width='100%'
  133. >
  134. <Typography
  135. variant='body2'
  136. fontWeight='400'
  137. color="#616161"
  138. display='flex'
  139. flexDirection='row'
  140. justifyContent='space-between'
  141. alignItems='center'
  142. marginBottom={breakpoint ? '15px': '0'}
  143. >
  144. <LocalPhoneIcon sx={{width: '15px', marginRight: '5px'}}/>
  145. {phone}
  146. </Typography>
  147. <Typography
  148. variant='body2'
  149. fontWeight='400'
  150. color="#616161"
  151. display='flex'
  152. flexDirection='row'
  153. justifyContent='space-between'
  154. alignItems='center'
  155. >
  156. <EmailIcon sx={{maxWidth: '15px', marginRight: '5px'}}/>
  157. {email}
  158. </Typography>
  159. </Box>
  160. </Box>
  161. </Grid>
  162. )
  163. }
  164. const OurTeamPage = ({specialist=defaultTeam}) => {
  165. const matches = useMediaQuery('(max-width:768px)');
  166. return (
  167. <>
  168. <Breadcrumb links={['our team']}/>
  169. <main style={{backgroundColor: "#f3f3f3", padding: matches ? "20px 0" : "50px 0"}}>
  170. <Container maxWidth="lg">
  171. <Grid sx={{padding: '0px 0px'}} container justifyContent='space-between'>
  172. {(specialist).map(item => <ItemTeam key={item?.name} item={item} breakpoint={matches}/>)}
  173. </Grid>
  174. </Container>
  175. </main>
  176. </>
  177. )
  178. }
  179. export default OurTeamPage