Blame view

components/layout/Footer.js 7.99 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";
.  
jaymehta committed
6
import Link from "next/link";
jay committed
7 8

const Footer = () => {
jaymehta committed
9
  const [email, setEmail] = useState("");
Ravindra Kanojiya committed
10 11 12 13 14 15 16 17
  const [isValidEmail, setIsValidEmail] = useState(true);

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

jaymehta committed
18
  const handleSubmit = async e => {
Ravindra Kanojiya committed
19 20 21 22 23 24
    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
jaymehta committed
25
      setEmail("");
Ravindra Kanojiya committed
26 27 28 29 30 31 32
      setIsValidEmail(true);
      toast.success("Subscribed successful!");
    } else {
      // Email is not valid, show error message or handle as you wish
      setIsValidEmail(false);
    }
  };
Ravindra Kanojiya committed
33
  return (
Ravindra Kanojiya committed
34
    <>
Ravindra Kanojiya committed
35 36 37 38 39
      <footer>
        <div className="container-fluid">
          <div className="row">
            <div className="col-md-9">
              <div className="footer-logo">
Ravindra Kanojiya committed
40
                <a href="/" className="image-container">
Chetan committed
41
                  <Image layout="fill" className="image img-fluid" alt="" src="/images/Footer-logo.svg" />
Ravindra Kanojiya committed
42
                </a>
Ravindra Kanojiya committed
43 44
              </div>
              <div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor </div>
Ravindra Kanojiya committed
45
            </div>
Ravindra Kanojiya committed
46 47 48
            <div className="col-md-3">
              <div className="footer-link">
                <h3>VENDOR SIGN UP</h3>
Ravindra Kanojiya committed
49
                <div className="vendor-signup">
50
                  <Button href="/login/vendor" variant="light me-3 mb-md-2 mb-lg-0 mb-0">
Ravindra Kanojiya committed
51 52 53 54 55 56
                    Log In
                  </Button>
                  <Button href="/signup/vendor" variant="primary">
                    Sign Up
                  </Button>
                </div>
Ravindra Kanojiya committed
57 58 59
              </div>
            </div>
          </div>
Ravindra Kanojiya committed
60 61 62
          <div className="row">
            <div className="col-12">
              <hr />
Ravindra Kanojiya committed
63 64
            </div>
          </div>
Ravindra Kanojiya committed
65
          <div className="row">
Ravindra Kanojiya committed
66
            <div className="col-sm-12 col-md-6 col-lg-3">
Ravindra Kanojiya committed
67 68 69 70
              <div className="footer-link mtp-0">
                <h3>QUICK LINKS</h3>
                <ul>
                  <li>
jaymehta committed
71 72 73
                    <Link prefetch href="/about-us">
                      About Us
                    </Link>
Ravindra Kanojiya committed
74 75
                  </li>
                  <li>
jaymehta committed
76 77 78
                    <Link prefetch href="/contact-us">
                      Contact Us
                    </Link>
Ravindra Kanojiya committed
79 80
                  </li>
                </ul>
Ravindra Kanojiya committed
81
              </div>
Ravindra Kanojiya committed
82
            </div>
Ravindra Kanojiya committed
83
            <div className="col-sm-12 col-md-6 col-lg-3">
Ravindra Kanojiya committed
84 85 86 87 88 89 90
              <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">
Ravindra Kanojiya committed
91
                    <a href="/">Lorem ipsum dolor sit amet</a>
Ravindra Kanojiya committed
92
                  </div>
Ravindra Kanojiya committed
93
                </div>
Ravindra Kanojiya committed
94 95 96 97 98 99 100 101 102 103 104 105 106
                <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">
Ravindra Kanojiya committed
107
                    <a href="Tel:+91-8798798798">+91-8798798798</a>
Ravindra Kanojiya committed
108
                  </div>
Ravindra Kanojiya committed
109 110 111
                </div>
              </div>
            </div>
Ravindra Kanojiya committed
112
            <div className="col-sm-12 col-md-6 col-lg-3  mt-md-4">
Ravindra Kanojiya committed
113 114 115 116
              <div className="footer-link">
                <h3>HELP</h3>
                <ul>
                  <li>
jaymehta committed
117 118 119
                    <Link prefetch href="/terms-and-conditions">
                      Terms & Policy
                    </Link>
Ravindra Kanojiya committed
120 121
                  </li>
                  <li>
jaymehta committed
122 123 124
                    <Link prefetch href="/privacy-policy">
                      Privacy Policy
                    </Link>
Ravindra Kanojiya committed
125
                  </li>
Ravindra Kanojiya committed
126 127 128 129 130 131 132 133 134 135
                  <li>
                    <Link prefetch href="/cancellation-refund-policy">
                      Cancellation / Refund Policy
                    </Link>
                  </li>
                  <li>
                    <Link prefetch href="/disclaimer">
                      Disclaimer
                    </Link>
                  </li>
jaymehta committed
136 137 138 139
                  {/* <li>
                    <Link prefetch href="">
                      Careers
                    </Link>
Ravindra Kanojiya committed
140 141
                  </li>
                  <li>
jaymehta committed
142 143 144 145
                    <Link prefetch href="">
                      FAQs
                    </Link>
                  </li> */}
Ravindra Kanojiya committed
146 147
                </ul>
              </div>
Ravindra Kanojiya committed
148
            </div>
Ravindra Kanojiya committed
149
            <div className="col-sm-12 col-md-6 col-lg-3 mt-md-4">
Ravindra Kanojiya committed
150 151 152
              <div className="footer-link mb-3">
                <h3>FOLLOW US ON</h3>
                <div className="social-icon">
Ravindra Kanojiya committed
153 154
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
155
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/facebook.svg" />
Ravindra Kanojiya committed
156 157 158 159
                    </span>
                  </a>
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
160
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/twitter.svg" />
Ravindra Kanojiya committed
161 162 163 164
                    </span>
                  </a>
                  <a href="">
                    <span className="image-container">
Ravindra Kanojiya committed
165
                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/instagram.svg" />
Ravindra Kanojiya committed
166 167
                    </span>
                  </a>
Ravindra Kanojiya committed
168
                </div>
Ravindra Kanojiya committed
169
              </div>
Ravindra Kanojiya committed
170 171
              <div className="footer-link">
                <h3>JOIN OUR COMMUNITY</h3>
Ravindra Kanojiya committed
172
                <div>Subscribe to get information, latest news and other interesting offers</div>
Ravindra Kanojiya committed
173
                <div className="subscribe">
jaymehta committed
174
                  <form onSubmit={handleSubmit}>
Ravindra Kanojiya committed
175
                    <div className="row">
Ravindra Kanojiya committed
176
                      <div className="col-12 d-flex align-items-center justify-content-start justify-content-lg-between">
Ravindra Kanojiya committed
177 178 179 180 181 182 183 184 185 186
                        <input
                          id="subscribe"
                          onChange={e => {
                            setEmail(e.target.value);
                            setIsValidEmail(true);
                          }}
                          type="text"
                          value={email}
                          placeholder="Email Address"
                        />
jaymehta committed
187

Ravindra Kanojiya committed
188
                        <label htmlFor="subscribe">
jaymehta committed
189 190 191
                          <Button variable="primary" type="submit">
                            Subscribe{" "}
                          </Button>
Ravindra Kanojiya committed
192
                        </label>
Ravindra Kanojiya committed
193 194 195
                      </div>
                    </div>
                    <div className="row">
jaymehta committed
196
                      <div className="col-12">{!isValidEmail && <div style={{ color: "red" }}>Please enter a valid email address.</div>}</div>
Ravindra Kanojiya committed
197
                    </div>
Ravindra Kanojiya committed
198
                  </form>
Ravindra Kanojiya committed
199
                </div>
Ravindra Kanojiya committed
200 201 202 203
              </div>
            </div>
          </div>
        </div>
Ravindra Kanojiya committed
204 205
      </footer>
      <div className="copyright">
Ravindra Kanojiya committed
206 207 208
        <div className="container">
          <div className="row">
            <div className="col-12">
Ravindra Kanojiya committed
209
              <div>Copyright © 2024 ZanGO. All Rights Reserved</div>
Ravindra Kanojiya committed
210 211 212
            </div>
          </div>
        </div>
Ravindra Kanojiya committed
213
      </div>
Ravindra Kanojiya committed
214
    </>
Ravindra Kanojiya committed
215
  );
jay committed
216 217 218
};

export default Footer;