import React, { useContext, useEffect, useMemo, useState } from "react"; import { Link, useLocation, useNavigate } from "react-router-dom"; import bank1 from "../../assets/images/bank-1.png"; import bank2 from "../../assets/images/bank-2.png"; import bank3 from "../../assets/images/bank-3.png"; import bank4 from "../../assets/images/bank-4.png"; import profileImg from "../../assets/images/profile-pic.jpg"; import useToggle from "../../hooks/useToggle"; import usersService from "../../services/UsersService"; import DarkModeContext from "../Contexts/DarkModeContext"; import Icons from "../Helpers/Icons"; import ModalCom from "../Helpers/ModalCom"; import WalletHeader from "../MyWallet/WalletHeader"; import { useDispatch, useSelector } from "react-redux"; import Flag from "../../assets/images/united-states.svg"; import siteLogo from "../../assets/images/wrenchboard.png"; import formattedDate from "../../lib/fomattedDate"; import { updateNotifications } from "../../store/notifications"; import TimeDifference from "../Helpers/TimeDifference"; export default function Header({ logoutModalHandler, sidebarHandler }) { const [balanceDropdown, setbalanceValue] = useToggle(false); const [notificationDropdown, setNotificationValue] = useToggle(false); const [userProfileDropdown, setProfileDropdown] = useToggle(false); const [moneyPopup, setPopup] = useToggle(false); const darkMode = useContext(DarkModeContext); const { userDetails } = useSelector((state) => state?.userDetails); const { walletTable } = useSelector((state) => state.tableReload); // DETERMINES WHEN WALLET RELOADS const [myWalletList, setMyWalletList] = useState([]); const api = useMemo(() => new usersService(), []); const dispatch = useDispatch(); const navigate = useNavigate() const { notifications } = useSelector((state) => state?.notifications); // NOTIFICATION STORE const getMyWalletList = async () => { try { const res = await api.getUserWallets(null); console.log("wallet - > ", res.data); setMyWalletList(res.data); } catch (error) { console.log("Error getting mode"); } }; useEffect(() => { getMyWalletList(); }, [walletTable]); const handlerBalance = () => { setbalanceValue.toggle(); if (notificationDropdown) { setNotificationValue.toggle(); } if (userProfileDropdown) { setProfileDropdown.toggle(); } }; const handlerNotification = () => { setNotificationValue.toggle(); if (balanceDropdown) { setbalanceValue.toggle(); } if (userProfileDropdown) { setProfileDropdown.toggle(); } }; const handlerProfile = () => { setProfileDropdown.toggle(); if (balanceDropdown) { setbalanceValue.toggle(); } if (notificationDropdown) { setNotificationValue.toggle(); } }; const clickAwayhandler = () => { if (balanceDropdown) { setbalanceValue.toggle(); } if (notificationDropdown) { setNotificationValue.toggle(); } if (userProfileDropdown) { setProfileDropdown.toggle(); } }; const addMoneyHandler = () => { setPopup.toggle(); setbalanceValue.set(false); }; // getting the location of head let { pathname } = useLocation(); const handleWalletBtn = () => { if (pathname === "/my-wallet") { setbalanceValue.set(false); } else return balanceDropdown; }; // User Profile let { firstname, lastname, email, profile_pic } = userDetails; let userEmail = email?.split("@")[0]; // console.log("Notify: ", notifications?.data?.raw); return ( <>
{item?.title} {/* successfully done */}
@{userEmail}
)}My Profile
My Wallet
My Statements
Language
English
English
Account Settings
{process.env.REACT_APP_LOGOUT_TEXT}
MetaMask
Coinbase Wallet
Bitski
WalletConnect