OurTeamPage.jsx 7.0 KB

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