/* eslint-disable react-hooks/exhaustive-deps */ /* eslint-disable react/jsx-key */ import React, { useState, Fragment, useEffect } from "react"; import { useRouter } from "next/router"; import Image from "next/image"; import logout from "~/pages/api/auth/Logout"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCircleQuestion } from "@fortawesome/free-regular-svg-icons"; import { faBook, faGear, faCoins, faRightFromBracket, faEnvelope, faPlus, faAngleDown, } from "@fortawesome/free-solid-svg-icons"; import { faSlack, faGithub } from "@fortawesome/free-brands-svg-icons"; import { Menu, Transition } from "@headlessui/react"; import getUser from "~/pages/api/user/getUser"; import getOrganizations from "~/pages/api/organization/getOrgs"; import getOrganization from "~/pages/api/organization/GetOrg"; import guidGenerator from "../utilities/randomId"; const supportOptions = [ [ , "[NEW] Join Slack Forum", "https://join.slack.com/t/infisical/shared_invite/zt-1dgg63ln8-G7PCNJdCymAT9YF3j1ewVA", ], [ , "Read Docs", "https://infisical.com/docs/getting-started/introduction", ], [ , "Open a GitHub Issue", "https://github.com/Infisical/infisical-cli/issues", ], [ , "Send us an Email", "mailto:support@infisical.com", ], ]; export default function Navbar({ onButtonPressed }) { const router = useRouter(); const [user, setUser] = useState({}); const [orgs, setOrgs] = useState([]); const [currentOrg, setCurrentOrg] = useState([]); useEffect(async () => { const userData = await getUser(); setUser(userData); const orgsData = await getOrganizations(); setOrgs(orgsData); const currentOrg = await getOrganization({ orgId: localStorage.getItem("orgData.id"), }); setCurrentOrg(currentOrg); }, []); const closeApp = async () => { console.log("Logging out..."); await logout(); router.push("/"); }; return (
{supportOptions.map((option) => ( // eslint-disable-next-line react/jsx-no-target-blank
{option[0]}
{option[1]}
))}
{user?.firstName} {user?.lastName}
SIGNED IN AS
router.push( "/settings/personal/" + router.query.id ) } className="flex flex-row items-center px-1 mx-1 my-1 hover:bg-white/5 cursor-pointer rounded-md" >
{user?.firstName?.charAt(0)}

{" "} {user?.firstName}{" "} {user?.lastName}

{" "} {user?.email}

CURRENT ORGANIZATION
router.push( "/settings/org/" + router.query.id ) } className="flex flex-row items-center px-2 mt-2 py-1 hover:bg-white/5 cursor-pointer rounded-md" >
{currentOrg?.name?.charAt(0)}

{currentOrg?.name}

{orgs?.length > 1 && (
OTHER ORGANIZATIONS
{orgs .filter( (org) => org._id != localStorage.getItem( "orgData.id" ) ) .map((org) => (
{ localStorage.setItem( "orgData.id", org._id ); router.reload(); }} className="flex flex-row justify-start items-center hover:bg-white/5 w-full p-1.5 cursor-pointer rounded-md" >
{org.name.charAt(0)}

{org.name}

))}
)}
{({ active }) => ( )}
); }