import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useUserStore } from "../store/module"; import Dropdown from "./base/Dropdown"; import showAboutSiteDialog from "./AboutSiteDialog"; import UserAvatar from "./UserAvatar"; import showSettingDialog from "./SettingDialog"; const UserBanner = () => { const { t } = useTranslation(); const userStore = useUserStore(); const { user, owner } = userStore.state; const [username, setUsername] = useState("Memos"); const isVisitorMode = userStore.isVisitorMode(); useEffect(() => { if (isVisitorMode) { if (!owner) { return; } setUsername(owner.nickname || owner.username); } else if (user) { setUsername(user.nickname || user.username); } }, [isVisitorMode, user, owner]); const handleMyAccountClick = () => { showSettingDialog("my-account"); }; const handleAboutBtnClick = () => { showAboutSiteDialog(); }; const handleSignOutBtnClick = async () => { await userStore.doSignOut(); window.location.href = "/auth"; }; return (