Blame view

components/layout/Footer.js 7.56 KB
Ravindra Kanojiya committed
1
import Image from "next/image";
Ravindra Kanojiya committed
2
import React, { useState } from "react";
Ravindra Kanojiya committed
3
import { Button } from "react-bootstrap";
Ravindra Kanojiya committed
4 5
import { newsletter } from "../../redux/actions/newsletterAction";
import { toast } from "react-toastify";
jay committed
6 7

const Footer = () => {
Ravindra Kanojiya committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
  const [email, setEmail] = useState('');
  const [isValidEmail, setIsValidEmail] = useState(true);

  const validateEmail = () => {
    // Regular expression for email validation
    const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return regex.test(email);
  };

  const handleSubmit = async (e) => {
    e.preventDefault();
    if (validateEmail()) {
      // Email is valid, perform your action (e.g., subscribe)
      const res = await newsletter(email);
      console.log("res", res.data);
      // Reset email input field after successful submission
      setEmail('');
      setIsValidEmail(true);
      toast.success("Subscribed successful!");
    } else {
      // Email is not valid, show error message or handle as you wish
      setIsValidEmail(false);
    }
  };
Ravindra Kanojiya committed
32
  return (
Ravindra Kanojiya committed
33
    <>
Ravindra Kanojiya committed
34 35 36 37 38 39 40 41 42 43
      <footer>
        <div className="container-fluid">
          <div className="row">
            <div className="col-md-9">
              <div className="footer-logo">
                <span className="image-container">
                  <Image layout="fill" className="image img-fluid" alt="" src="/images/Zango-logo-footer.svg" />
                </span>
              </div>
              <div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor </div>
Ravindra Kanojiya committed
44
            </div>
Ravindra Kanojiya committed
45 46 47 48 49 50 51 52 53 54 55
            <div className="col-md-3">
              <div className="footer-link">
                <h3>VENDOR SIGN UP</h3>
                <div className="">
                  <Button href="/login/vendor" variant="light me-3">
                    Log In
                  </Button>
                  <Button href="/signup/vendor" variant="primary">
                    Sign Up
                  </Button>
                </div>
Ravindra Kanojiya committed
56 57 58
              </div>
            </div>
          </div>
Ravindra Kanojiya committed
59 60 61
          <div className="row">
            <div className="col-12">
              <hr />
Ravindra Kanojiya committed
62 63
            </div>
          </div>
Ravindra Kanojiya committed
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
          <div className="row">
            <div className="col-md-3">
              <div className="footer-link mtp-0">
                <h3>QUICK LINKS</h3>
                <ul>
                  <li>
                    <a href="/about-us">About Us</a>
                  </li>
                  <li>
                    <a href="/contact-us">Contact Us</a>
                  </li>
                  <li>
                    <a href="">Corporate Programs</a>
                  </li>
                  <li>
                    <a href="">Private Events</a>
                  </li>
                  <li>
                    <a href="">Promo T & Cs</a>
                  </li>
                  <li>
                    <a href="">Gifting</a>
                  </li>
                </ul>
Ravindra Kanojiya committed
88
              </div>
Ravindra Kanojiya committed
89 90 91 92 93 94 95 96 97 98 99
            </div>
            <div className="col-md-3">
              <div className="footer-link">
                <h3>CONTACT </h3>
                <div className="icon-text">
                  <span className="image-container">
                    <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/location.svg" />
                  </span>
                  <div className="text">
                    <a href="">Lorem ipsum dolor sit amet</a>
                  </div>
Ravindra Kanojiya committed
100
                </div>
Ravindra Kanojiya committed
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
                <div className="icon-text">
                  <span className="image-container">
                    <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/email.svg" />
                  </span>
                  <div className="text">
                    <a href="mailTo:zango@gmail.com">zango@gmail.com</a>
                  </div>
                </div>
                <div className="icon-text">
                  <span className="image-container">
                    <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/phone-call.svg" />
                  </span>
                  <div className="text">
                    <a href="">+91-8798798798</a>
                  </div>
Ravindra Kanojiya committed
116 117 118
                </div>
              </div>
            </div>
Ravindra Kanojiya committed
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
            <div className="col-md-3">
              <div className="footer-link">
                <h3>HELP</h3>
                <ul>
                  <li>
                    <a href="/terms-and-conditions">Terms & Policy</a>
                  </li>
                  <li>
                    <a href="/privacy-policy">Privacy Policy</a>
                  </li>
                  <li>
                    <a href="">Careers</a>
                  </li>
                  <li>
                    <a href="">FAQs</a>
                  </li>
                </ul>
              </div>
Ravindra Kanojiya committed
137
            </div>
Ravindra Kanojiya committed
138 139 140 141
            <div className="col-md-3">
              <div className="footer-link mb-3">
                <h3>FOLLOW US ON</h3>
                <div className="social-icon">
Ravindra Kanojiya committed
142 143
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
144
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/facebook.svg" />
Ravindra Kanojiya committed
145 146 147 148
                    </span>
                  </a>
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
149
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/twitter.svg" />
Ravindra Kanojiya committed
150 151 152 153
                    </span>
                  </a>
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
154
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/instagram.svg" />
Ravindra Kanojiya committed
155 156
                    </span>
                  </a>
Ravindra Kanojiya committed
157
                </div>
Ravindra Kanojiya committed
158
              </div>
Ravindra Kanojiya committed
159 160 161 162 163 164
              <div className="footer-link">
                <h3>JOIN OUR COMMUNITY</h3>
                <div>Subscribe to gt information, latest news and other interesting offers</div>
                <div className="subscribe">
                <form onSubmit={handleSubmit}>
                    <div className="row">
Ravindra Kanojiya committed
165
                      <div className="col-12 d-flex align-items-center justify-content-between">
Ravindra Kanojiya committed
166 167 168 169 170 171 172 173 174 175 176 177 178 179
                        <input
                          id="subscribe"
                          onChange={e => {
                            setEmail(e.target.value);
                            setIsValidEmail(true);
                          }}
                          type="text"
                          value={email}
                          placeholder="Email Address"
                        />
                        
                        <label htmlFor="subscribe">
                          <Button variable="primary" type="submit">Subscribe </Button>
                        </label>
Ravindra Kanojiya committed
180 181 182 183 184 185 186
                        
                      </div>
                    </div>
                    <div className="row">
                      <div className="col-12">
                      {!isValidEmail && (
                              <div style={{ color: 'red' }}>Please enter a valid email address.</div>
Ravindra Kanojiya committed
187
                            )}
Ravindra Kanojiya committed
188
                      </div>
Ravindra Kanojiya committed
189
                    </div>
Ravindra Kanojiya committed
190
                  </form>
Ravindra Kanojiya committed
191
                </div>
Ravindra Kanojiya committed
192 193 194 195
              </div>
            </div>
          </div>
        </div>
Ravindra Kanojiya committed
196 197
      </footer>
      <div className="copyright">
Ravindra Kanojiya committed
198 199 200
        <div className="container">
          <div className="row">
            <div className="col-12">
Ravindra Kanojiya committed
201
              <div>Copyright © 2024 ZanGO. All Rights Reserved</div>
Ravindra Kanojiya committed
202 203 204
            </div>
          </div>
        </div>
Ravindra Kanojiya committed
205
      </div>
Ravindra Kanojiya committed
206
    </>
Ravindra Kanojiya committed
207
  );
jay committed
208 209 210
};

export default Footer;