import { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import * as utils from "../helpers/utils"; import userService from "../services/userService"; import { locationService } from "../services"; import { useAppSelector } from "../store"; import Icon from "./Icon"; import MenuBtnsPopup from "./MenuBtnsPopup"; import "../less/user-banner.less"; const UserBanner = () => { const { t } = useTranslation(); const { user, owner } = useAppSelector((state) => state.user); const { memos, tags } = useAppSelector((state) => state.memo); const [shouldShowPopupBtns, setShouldShowPopupBtns] = useState(false); const [username, setUsername] = useState("Memos"); const [createdDays, setCreatedDays] = useState(0); const isVisitorMode = userService.isVisitorMode(); useEffect(() => { if (isVisitorMode) { if (!owner) { return; } setUsername(owner.name); setCreatedDays(Math.ceil((Date.now() - utils.getTimeStampByDate(owner.createdTs)) / 1000 / 3600 / 24)); } else if (user) { setUsername(user.name); setCreatedDays(Math.ceil((Date.now() - utils.getTimeStampByDate(user.createdTs)) / 1000 / 3600 / 24)); } }, [isVisitorMode, user, owner]); const handleUsernameClick = useCallback(() => { locationService.clearQuery(); }, []); const handlePopupBtnClick = () => { setShouldShowPopupBtns(true); }; return ( <>