import React, { useCallback, useRef, useState } from "react"; import { Link } from "react-router-dom"; import { User } from "../api/entities/user"; import { useAuth } from "../hooks/use-auth"; import { useOutsideClick } from "../hooks/use-outside-click"; import { CogwheelIcon } from "../icons/Cogwheel"; import { SpotifyLogo } from "../icons/Spotify"; export const NavBar: React.FC = () => { const { user, loginWithSpotifyProps } = useAuth(); return (
Listory
); }; const NavItem: React.FC<{ children: React.ReactNode }> = ({ children }) => { return ( {children} ); }; const NavUserInfo: React.FC<{ user: User }> = ({ user }) => { const [menuOpen, setMenuOpen] = useState(false); const closeMenu = useCallback(() => setMenuOpen(false), [setMenuOpen]); const wrapperRef = useRef(null); useOutsideClick(wrapperRef, closeMenu); return (
setMenuOpen(!menuOpen)} > {user.displayName} {user.photo && ( Profile of logged in user )}
{menuOpen ? : null}
); }; const NavUserInfoMenu: React.FC<{ closeMenu: () => void }> = ({ closeMenu, }) => { return (
  • API Tokens
); };