| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- import { Fragment } from 'react';
- import { Popover, Transition } from '@headlessui/react';
- import PropTypes from 'prop-types';
-
- import logo from '../../assets/logos/LogoFull.svg';
- import { NavLink, useLocation, useNavigate } from 'react-router-dom';
- import '../../App.css';
- import Wrapper from '../../layout/Wrapper';
- import menuIcon from './../../assets/icons/menu.svg';
- import { useState } from 'react';
-
- export default function NavigationNew({
- links,
- scrollToView,
- activeLinks,
- forwardedRef,
- }) {
- const [drop, setDrop] = useState(false);
- const location = useLocation();
- const home = useNavigate();
- function handleLogo() {
- home('/');
- }
-
- function showDrop() {
- setDrop(!drop);
- }
-
- // Check if you are on HomePage to scroll to Contact us, or open a sepperate Contact us Page
- function checkUrl(event) {
- if (location.pathname === '/') scrollToView(event);
- else home('/contact');
- }
-
- return (
- <>
- <nav className="bg-white dark:bg-dg-primary-1700 fixed w-full top-0 z-50">
- <div className="container flex flex-wrap items-center justify-between mx-auto">
- <a href="/" className="flex items-center">
- <img src={logo} className="h-6 mr-3 sm:h-10" alt="Diligent Logo" />
- </a>
- <button
- data-collapse-toggle="navbar-dropdown"
- type="button"
- className="inline-flex items-center p-2 ml-3 text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600"
- aria-controls="navbar-dropdown"
- aria-expanded="false"
- >
- <span className="sr-only">Open main menu</span>
- <svg
- className="w-6 h-6"
- aria-hidden="true"
- fill="currentColor"
- viewBox="0 0 20 20"
- xmlns="http://www.w3.org/2000/svg"
- >
- <path
- fillRule="evenodd"
- d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
- clipRule="evenodd"
- ></path>
- </svg>
- </button>
- <div className="hidden w-full md:block md:w-auto" id="navbar-dropdown">
- <ul className="flex flex-col p-4 mt-4 border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 md:mt-0 md:text-sm md:font-medium md:border-0 md:bg-white dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700">
- <li>
- <a
- href="#"
- className="block py-2 pl-3 pr-4 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 md:dark:text-white dark:bg-blue-600 md:dark:bg-transparent"
- aria-current="page"
- >
- Home
- </a>
- </li>
- <li>
- <button
- onClick={() => showDrop()}
- id="dropdownNavbarLink"
- className="flex items-center justify-between w-full py-2 pl-3 pr-4 font-medium text-gray-700 rounded hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 md:w-auto dark:text-gray-400 dark:hover:text-white dark:focus:text-white dark:border-gray-700 dark:hover:bg-gray-700 md:dark:hover:bg-transparent"
- >
- Dropdown{' '}
- <svg
- className="w-5 h-5 ml-1"
- aria-hidden="true"
- fill="currentColor"
- viewBox="0 0 20 20"
- xmlns="http://www.w3.org/2000/svg"
- >
- <path
- fillRule="evenodd"
- d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
- clipRule="evenodd"
- ></path>
- </svg>
- </button>
- {/* <!-- Dropdown menu --> */}
- <div
- id="dropdownNavbar"
- className={
- (drop ? 'block ' : 'hidden ') +
- 'z-10 font-normal bg-white divide-y divide-gray-100 rounded-lg shadow w-44 dark:bg-gray-700 dark:divide-gray-600'
- }
- >
- <ul
- className="py-2 text-sm text-gray-700 dark:text-gray-400"
- aria-labelledby="dropdownLargeButton"
- >
- <li>
- <a
- href="#"
- className="block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white"
- >
- Dashboard
- </a>
- </li>
- <li>
- <a
- href="#"
- className="block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white"
- >
- Settings
- </a>
- </li>
- <li>
- <a
- href="#"
- className="block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white"
- >
- Earnings
- </a>
- </li>
- </ul>
- <div className="py-1">
- <a
- href="#"
- className="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-400 dark:hover:text-white"
- >
- Sign out
- </a>
- </div>
- </div>
- </li>
- <li>
- <a
- href="#"
- className="block py-2 pl-3 pr-4 text-gray-700 rounded hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent"
- >
- Services
- </a>
- </li>
- <li>
- <a
- href="#"
- className="block py-2 pl-3 pr-4 text-gray-700 rounded hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent"
- >
- Pricing
- </a>
- </li>
- <li>
- <a
- href="#"
- className="block py-2 pl-3 pr-4 text-gray-700 rounded hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 dark:text-gray-400 md:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent"
- >
- Contact
- </a>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- </>
- );
- }
-
- NavigationNew.propTypes = {
- links: PropTypes.arrayOf(PropTypes.object),
- scrollToView: PropTypes.func,
- activeLinks: PropTypes.func,
- };
|