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 && (

)}
{menuOpen ?
: null}
);
};
const NavUserInfoMenu: React.FC<{ closeMenu: () => void }> = ({
closeMenu,
}) => {
return (
);
};