Footer.jsx 6.0 KB

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