import { useCallback, useContext, useState } from "react"; import appContext from "../stores/appContext"; import { locationService } from "../services"; import utils from "../helpers/utils"; import MenuBtnsPopup from "./MenuBtnsPopup"; import showDailyMemoDiaryDialog from "./DailyMemoDiaryDialog"; import "../less/user-banner.less"; interface Props {} const UserBanner: React.FC = () => { const { memoState: { memos, tags }, userState: { user }, } = useContext(appContext); const username = user ? user.name : "Memos"; const createdDays = user ? Math.ceil((Date.now() - utils.getTimeStampByDate(user.createdAt)) / 1000 / 3600 / 24) : 0; const [shouldShowPopupBtns, setShouldShowPopupBtns] = useState(false); const handleUsernameClick = useCallback(() => { locationService.pushHistory("/"); locationService.clearQuery(); }, []); const handlePopupBtnClick = () => { const sidebarEl = document.querySelector(".sidebar-wrapper") as HTMLElement; const popupEl = document.querySelector(".menu-btns-popup") as HTMLElement; popupEl.style.top = 54 - sidebarEl.scrollTop + "px"; setShouldShowPopupBtns(true); }; return (

{username}

{memos.length} MEMO
{tags.length} TAG
showDailyMemoDiaryDialog()}> {createdDays} DAY
); }; export default UserBanner;