import { QueryRoutes, Routes } from "@nirvana/common/helpers/routes"; import { Menu, Dropdown, Avatar, Tooltip } from "antd"; import { useRouter } from "next/router"; import { useRef, useState } from "react"; import { KeyMap, GlobalHotKeys } from "react-hotkeys"; import { FaUser, FaLayerGroup, FaSearch, FaHeadphones, FaMicrophoneAlt, } from "react-icons/fa"; import { useRecoilState, useRecoilValue } from "recoil"; import { UserStatus } from "../../models/user"; import MainLogo from "../Logo/MainLogo"; import UserStatusBubble from "../UserDetails/UserStatusBubble"; import { useAuth } from "../../contexts/authContext"; import { nirvanaUserDataAtom } from "../../recoil/main"; import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); export default function Header() { const { currUser } = useAuth(); const nirvanaUserData = useRecoilValue(nirvanaUserDataAtom); const router = useRouter(); const inputRef = useRef(null); const [searchInput, setSearchInput] = useState(""); const selectSearch = () => { inputRef.current?.focus(); router.push({ pathname: Routes.home, query: { page: QueryRoutes.search }, }); }; const updateInput = (e) => { const newSearchInput = e.target.value; setSearchInput(newSearchInput); if (!newSearchInput) { router.query.q = undefined; } else { // update url => initiates the search router.query.q = encodeURI(newSearchInput); } router.push({ query: { q: encodeURI(newSearchInput), page: QueryRoutes.search }, }); }; const logOut = async () => { // setLoading(true); console.log("logging user out"); await signOut(auth); router.push("/"); }; const UserMenu = ( router.push("/teams/profile")} icon={} > window.open("/s", "_self")} key={"team hub"} icon={} > ); const keyMap: KeyMap = { SELECT_SEARCH: { name: "select search to start searching", sequence: "/", action: "keyup", }, }; const handlers = { SELECT_SEARCH: selectSearch, }; return (
{/* search bar */}
{/* controls */} {/*
*/} {/* profile section */}
); }