Blame view

components/layout/Header.js 2.59 KB
jay committed
1 2 3 4 5 6
import { getSession, signOut } from "next-auth/react";
import Image from "next/image";
import Link from "next/link";
import React, { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { cleanImage } from "../../services/imageHandling";
Ravindra Kanojiya committed
7
import { Button, Container, Form, Nav, Navbar } from "react-bootstrap";
jay committed
8 9

const Header = () => {
Ravindra Kanojiya committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  const [isSticky, setIsSticky] = useState(false);

  useEffect(() => {
    const handleScroll = () => {
      // Check if the scroll position is greater than a certain threshold
      const scrollY = window.scrollY || window.pageYOffset;
      setIsSticky(scrollY > 50);
    };

    // Attach the scroll event listener when the component mounts
    window.addEventListener('scroll', handleScroll);

    // Clean up the event listener when the component unmounts
    return () => {
      window.removeEventListener('scroll', handleScroll);
    };
  }, []); 
jay committed
27
  return (
Ravindra Kanojiya committed
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
    <header className={`header_wrap ${isSticky ? 'stick' : ''}`}>
    <Navbar expand="lg" className="bg-body-tertiary">
      <Container fluid>
        <Navbar.Brand href="#">
          <span className="image-container">
            <Image layout="fill" alt="" className="image img-fluid" src="/images/Zango-logo.svg" />
          </span>
        </Navbar.Brand>
        <Navbar.Toggle aria-controls="navbarScroll" />
        <Navbar.Collapse id="navbarScroll">
          <Nav className=" my-2 my-lg-0" style={{ maxHeight: "100px" }} navbarScroll>
            <Nav.Link href="#action1">Blogs</Nav.Link>
            <Nav.Link href="#action2" className="gift-card">
              Gift Card
              <span className="image-container">
                <Image layout="fill" className="image img-fluid" src="/images/icons/gift-card-icon.svg" alt="" />
              </span>
            </Nav.Link>
          </Nav>
          <Form className="d-flex me-3">
            <div className="header-search">
              <Form.Control type="search" placeholder="Search" className="me-2" aria-label="Search" />
              <Button className="search-icon" variant="outline-success">
                <span className="image-container">
                  <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/search-icon.svg" />
                </span>
              </Button>
            </div>
          </Form>
          <Button className="me-3" variant="primary">
              Sign Up
          </Button>
          <Button className="" variant="primary">
              Log In
          </Button>
        </Navbar.Collapse>
      </Container>
    </Navbar>
jay committed
66 67 68 69 70
    </header>
  );
};

export default Header;