Amber Shopify Project created using ReactJS+React-Redux with GraphQL API integration. Storefront Shopify API: https://github.com/Shopify/shopify-app-js/tree/main/packages/api-clients/storefront-api-client#readme
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Footer.jsx 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import React from 'react';
  2. import { Box, Typography, TextField, Button, InputAdornment } from '@mui/material';
  3. import logoSrc from "../../assets/images/amberlogofooter.png";
  4. import Grid from '@mui/material/Grid2';
  5. const Footer = () => {
  6. return (
  7. <Box
  8. sx={{
  9. backgroundColor: 'background.default',
  10. mb: 10,
  11. mt: 15,
  12. px: {
  13. xs: 2,
  14. md: 12,
  15. lg: 20
  16. }
  17. }}
  18. >
  19. <img src={logoSrc} alt="Logo"
  20. style={{
  21. width: 150,
  22. height: 23,
  23. marginBottom: 25
  24. }}
  25. />
  26. <Grid container spacing={2} justifyContent="space-evenly">
  27. <Grid item size={{ xs: 12, sm: 6, md: 3 }} sx={{ position: "relative" }}>
  28. <Typography variant="body1" sx={{ fontWeight: "bold", mb: 4 }}>
  29. Contact Info
  30. </Typography>
  31. <Typography variant="body2" sx={{ mb: 2 }}><span style={{ fontWeight: "bold" }}>Phone:</span> +4 (509) 120 6705</Typography>
  32. <Typography variant="body2" sx={{ maxWidth: 250 }}><span style={{ fontWeight: "bold" }}>Address:</span> Lot G-77, Wangsa Walk Mall, Wangsa Avenue, No.9, Jalan Wangsa Perdana 1, Bandar Wangsa Maju, 53300 Kuala Lumpur, Malaysia</Typography>
  33. </Grid>
  34. <Grid item size={{ xs: 12, sm: 6, md: 3 }}>
  35. <Typography variant="body1" sx={{ fontWeight: "bold", mb: 4 }}>
  36. Get Help
  37. </Typography>
  38. <nav>
  39. <Typography variant="body2" sx={{ mb: 1 }}>
  40. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Delivery Information</a>
  41. </Typography>
  42. <Typography variant="body2" sx={{ mb: 1 }}>
  43. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Sale Terms & Conditions</a>
  44. </Typography>
  45. <Typography variant="body2" sx={{ mb: 1 }}>
  46. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Returns & Refunds</a>
  47. </Typography>
  48. <Typography variant="body2" sx={{ mb: 1 }}>
  49. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Privacy Notice</a>
  50. </Typography>
  51. <Typography variant="body2" sx={{ mb: 1 }}>
  52. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Shopping FAQs</a>
  53. </Typography>
  54. </nav>
  55. </Grid>
  56. <Grid item size={{ xs: 12, sm: 6, md: 3 }}>
  57. <Typography variant="body1" sx={{ fontWeight: "bold", mb: 4 }}>
  58. Popular Categories
  59. </Typography>
  60. <nav>
  61. <Typography variant="body2" sx={{ mb: 1 }}>
  62. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Dresses <span>(45)</span></a>
  63. </Typography>
  64. <Typography variant="body2" sx={{ mb: 1 }}>
  65. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Tops <span>(45)</span></a>
  66. </Typography>
  67. <Typography variant="body2" sx={{ mb: 1 }}>
  68. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Skirts <span>(45)</span></a>
  69. </Typography>
  70. <Typography variant="body2" sx={{ mb: 1 }}>
  71. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Scarves <span>(45)</span></a>
  72. </Typography>
  73. <Typography variant="body2" sx={{ mb: 1 }}>
  74. <a href="#" style={{ textDecoration: 'none', color: 'inherit' }}>Mens <span>(45)</span></a>
  75. </Typography>
  76. </nav>
  77. </Grid>
  78. <Grid item size={{ xs: 12, sm: 6, md: 3 }}>
  79. <Typography variant="body1" sx={{ fontWeight: "bold", mb: 4 }}>
  80. Let’s stay in touch
  81. </Typography>
  82. <Box
  83. component="form"
  84. sx={{
  85. display: 'flex',
  86. flexDirection: 'column',
  87. gap: 1,
  88. }}
  89. noValidate
  90. >
  91. <TextField
  92. variant="outlined"
  93. placeholder="your email address"
  94. sx={{ p: 0, mb: 2 }}
  95. InputProps={{
  96. startAdornment: (
  97. <InputAdornment position="end">
  98. <Button variant='contained' sx={{position:"absolute", right:0, height:"100%" }}>
  99. Subscribe
  100. </Button>
  101. </InputAdornment>
  102. ),
  103. }}
  104. />
  105. <Typography variant="body2" >Keep up to date with our latest news and <br /> special offers.</Typography>
  106. </Box>
  107. </Grid>
  108. </Grid>
  109. </Box>
  110. );
  111. };
  112. export default Footer;