Viewing File: /home/ubuntu/voice-assistant-frontend/src/components/layouts/Header/AuthPageHeader.jsx
import React, { useState, useEffect } from "react";
import { Navbar, Container, Image, Nav, Dropdown } from "react-bootstrap";
import { Link, NavLink, useLocation, useNavigate } from "react-router-dom";
import useLogout from "../../../hooks/useLogout";
const AuthPageHeader = (props) => {
const { logout } = useLogout();
const navigate = useNavigate();
const location = useLocation();
const [dropdownOpen, setDropdownOpen] = useState(false);
const handleDropdownToggle = (isOpen) => {
setDropdownOpen(isOpen);
};
const handleDropdownClose = () => {
setDropdownOpen(false);
};
return (
<>
<header className="header-nav-center auth-page-header">
<Navbar expand="lg">
<Container>
<NavLink to="/">
<Image
className="logo"
src={
window.location.origin + "/img/logo.png"
}
type="image/png"
/>
</NavLink>
<Navbar.Toggle aria-controls="basic-navbar-nav">
<Image
className="hamburger-menu"
src={
window.location.origin + "/img/menu.svg"
}
type="image/png"
/>
</Navbar.Toggle>
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="ms-auto">
<Nav.Link className={`${["/generated-voice-list","/generate-voice"].includes(location.pathname) && "active"}`} onClick={()=> navigate("/generated-voice-list")}>Generate Voice</Nav.Link>
<Nav.Link className={`${location.pathname.includes("voicelab-list") && "active"}`} onClick={()=> navigate("/voicelab-list")}>VoiceLab</Nav.Link>
{/* <Nav.Link className={`${location.pathname.includes("susbcription") && "active"}`} onClick={()=> navigate("/subscription")}>Subscription</Nav.Link> */}
<div className="user-dropdown-sec">
<Dropdown onToggle={handleDropdownToggle} show={dropdownOpen}>
<Dropdown.Toggle id="dropdown-basic">
<Image
className="user-dropdown-img"
src={
window.location.origin + "/img/user-img.png"
}
/>
</Dropdown.Toggle>
<Dropdown.Menu>
{/* <Link to="/settings" onClick={() => handleDropdownClose()}>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
x="0"
y="0"
enableBackground="new 0 0 512 512"
version="1.1"
viewBox="0 0 512 512"
xmlSpace="preserve"
>
<path d="M34.283 384c17.646 30.626 56.779 41.148 87.405 23.502l.062-.036 9.493-5.483A191.51 191.51 0 00192 437.055V448c0 35.346 28.654 64 64 64s64-28.654 64-64v-10.944a191.494 191.494 0 0060.757-35.115l9.536 5.504c30.633 17.673 69.794 7.167 87.467-23.467 17.673-30.633 7.167-69.794-23.467-87.467l-9.472-5.461a194.15 194.15 0 000-70.187l9.472-5.461c30.633-17.673 41.14-56.833 23.467-87.467-17.673-30.633-56.833-41.14-87.467-23.467l-9.493 5.483A191.518 191.518 0 00320 74.944V64c0-35.346-28.654-64-64-64s-64 28.654-64 64v10.944a191.494 191.494 0 00-60.757 35.115l-9.536-5.525C91.073 86.86 51.913 97.367 34.24 128s-7.167 69.794 23.467 87.467l9.472 5.461a194.15 194.15 0 000 70.187l-9.472 5.461C27.158 314.296 16.686 353.38 34.283 384zM256 170.667c47.128 0 85.333 38.205 85.333 85.333S303.128 341.333 256 341.333 170.667 303.128 170.667 256s38.205-85.333 85.333-85.333z"></path>
</svg>
<span>Settings</span>
</Link> */}
<Link to="/profile" onClick={() => handleDropdownClose()}>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
enableBackground="new 0 0 512 512"
viewBox="0 0 512 512"
>
<g fill="#6e6d8e">
<circle cx="256" cy="128" r="128" data-original="#000000"></circle>
<path
d="M256 298.667c-105.99.118-191.882 86.01-192 192C64 502.449 73.551 512 85.333 512h341.333c11.782 0 21.333-9.551 21.333-21.333-.117-105.99-86.009-191.883-191.999-192z"
data-original="#000000"
></path>
</g>
</svg>
<span>My Account</span>
</Link>
<Link to="#" onClick={logout}>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
fill="none"
viewBox="0 0 374 374"
>
<path
fill="#6E6D8E"
d="M101.669 235h144v80c0 32.427-26.24 58.667-58.666 58.667h-128C26.576 373.667.336 347.427.336 315V59C.336 26.573 26.576.333 59.003.333h128c32.426 0 58.666 26.24 58.666 58.667v80h-144c-26.453 0-48 21.547-48 48 0 26.454 21.547 48 48 48zm267.307-59.306l-64-64a16.005 16.005 0 10-22.635 22.634l36.694 36.694H101.669a15.998 15.998 0 00-16 16 15.998 15.998 0 0016 16h217.366l-36.694 36.693a16 16 0 0022.614 22.634l64-64a16.007 16.007 0 004.69-11.317 16.013 16.013 0 00-4.69-11.317l.021-.021z"
></path>
</svg>
<span>Logout</span>
</Link>
</Dropdown.Menu>
</Dropdown>
</div>
</Nav>
</Navbar.Collapse>
</Container>
</Navbar>
</header>
</>
);
};
export default AuthPageHeader;
Back to Directory
File Manager