Footer.jsx 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. import React from 'react';
  2. import LocalPhoneIcon from "@mui/icons-material/LocalPhone";
  3. import LocationOnIcon from "@mui/icons-material/LocationOn";
  4. import EmailIcon from "@mui/icons-material/Email";
  5. import WatchLaterIcon from "@mui/icons-material/WatchLater";
  6. import FacebookIcon from "@mui/icons-material/Facebook";
  7. import InstagramIcon from "@mui/icons-material/Instagram";
  8. import TwitterIcon from "@mui/icons-material/Twitter";
  9. import YouTubeIcon from "@mui/icons-material/YouTube";
  10. import {Box, Container, Grid, Typography, useMediaQuery} from "@mui/material";
  11. import background from "../../img/footer/bg-footer.png";
  12. import LinkRouter from "react-router-dom/es/Link";
  13. import Social from "../SocialLink";
  14. import {Contact} from "./Contact";
  15. import '../../scss/Footer.scss';
  16. const contactDefault = [
  17. {'icon': LocalPhoneIcon, 'text': '+123 488 9652', 'url': '#'},
  18. {'icon': LocationOnIcon, 'text': '25 West 21th Street, Miami FL, USA', 'url': '#'},
  19. {'icon': EmailIcon, 'text': 'info@abraxas.com', 'url': '#'},
  20. {'icon': WatchLaterIcon, 'text': 'Mon-Fri: 10:00 - 18:00', 'url': '#'}
  21. ]
  22. const linksSocialDefault = [
  23. {'icon': FacebookIcon, 'url': 'https://www.facebook.com/'},
  24. {'icon': InstagramIcon, 'url': 'https://www.instagram.com/'},
  25. {'icon': TwitterIcon, 'url': 'https://twitter.com/home'},
  26. {'icon': YouTubeIcon, 'url': 'https://www.youtube.com/'},
  27. ]
  28. export const Footer = ({contact=contactDefault, linksSocial=linksSocialDefault}) => {
  29. const matches = useMediaQuery('(max-width:899px)');
  30. const matches2 = useMediaQuery('(max-width:450px)');
  31. return (
  32. <footer
  33. className="Footer"
  34. style={{
  35. background: `url(${background}) center repeat`,
  36. padding: "40px 0"
  37. }}
  38. >
  39. <Container maxWidth="lg">
  40. <Grid
  41. container
  42. spacing={{ xs: 2, md: 3 }}
  43. columns={{ xs: 1, sm: 8, md: 12 }}
  44. >
  45. <Grid
  46. item
  47. sm={12} md={4}
  48. width={matches ? "100%" : "auto"}
  49. >
  50. {(contact || []).map((item, index) =>
  51. <Contact
  52. key={index}
  53. Icon={item.icon}
  54. text={item.text}
  55. link={item.url}
  56. />
  57. )}
  58. </Grid>
  59. <Grid
  60. item
  61. sm={12} md={4}
  62. display="flex"
  63. flexDirection="column"
  64. alignItems="center"
  65. justifyContent="center"
  66. width={matches ? "100%" : "auto"}
  67. >
  68. <Typography
  69. variant="h4"
  70. textAlign="center"
  71. marginBottom="20px"
  72. >
  73. <LinkRouter
  74. to='/'
  75. className="Footer__Logo"
  76. >
  77. ABRAXAS
  78. </LinkRouter>
  79. </Typography>
  80. <Box>
  81. {(linksSocial || []).map((item, index) =>
  82. <Social
  83. key={index}
  84. Icon={item.icon}
  85. link={item.url}
  86. />
  87. )}
  88. </Box>
  89. </Grid>
  90. <Grid
  91. item
  92. sm={12} md={4}
  93. display="flex"
  94. justifyContent={matches ? "center" : "end"}
  95. width={matches ? "100%" : "auto"}
  96. >
  97. <Typography
  98. variant="body1"
  99. textAlign={matches ? "center" : "right"}
  100. color="#969696"
  101. fontSize="14px"
  102. maxWidth="275px"
  103. lineHeight="1.7em"
  104. >
  105. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid, animi consectetur, dicta
  106. dolore doloremque eum exercitationem illum incidunt inventore ipsam itaque, modi odio odit
  107. quo sed sint suscipit vitae voluptates.
  108. </Typography>
  109. </Grid>
  110. </Grid>
  111. <Box
  112. display="flex"
  113. flexDirection={matches2 ? "column-reverse" : "row"}
  114. alignItems="center"
  115. justifyContent="space-between"
  116. marginTop="30px"
  117. >
  118. <Typography
  119. variant="body2"
  120. color="#969696"
  121. fontSize="13px"
  122. >
  123. © 2022 ABRAXAS. All rights reserved.
  124. </Typography>
  125. <Typography
  126. variant="body2"
  127. marginBottom={matches2 ? "10px" : "0"}
  128. >
  129. <LinkRouter
  130. to='/privacy-policy'
  131. className="Footer__Bottom-link"
  132. >
  133. PRIVACY POLICY
  134. </LinkRouter>
  135. <LinkRouter
  136. to='/faq'
  137. className="Footer__Bottom-link"
  138. >
  139. FAQ
  140. </LinkRouter>
  141. </Typography>
  142. </Box>
  143. </Container>
  144. </footer>
  145. )
  146. }