import React, { useCallback, useMemo } from "react"; import styles from "../styles/Header.module.css"; import bgStyles from "../styles/Background.module.css"; import { usePlayer } from "../providers/PlayerProvider"; import { useAccount } from "wagmi"; import dynamic from "next/dynamic"; import Counter, { toReadable } from "./Counter"; import { useModal } from "../providers/ModalProvider"; const Header = () => { const { isConnected } = useAccount(); const { isRegistered, player, army } = usePlayer(); const { openRegistrationModal } = useModal(); const title = useMemo(() => { return isRegistered && !player?.has_active_session ? `You died 😇 Click here to start again and ...` : isRegistered ? `SLAY THE MOLOCH` : !isConnected ? "Connect your wallet traveler ☝️ and then ..." : "Click here to start 😈"; }, [isConnected, isRegistered, player?.has_active_session]); const subtitle = useMemo(() => { if (isRegistered && player?.has_active_session) { return ; } else { return (

SLAY THE MOLOCH

); } }, [isRegistered, player?.has_active_session, isConnected]); const perSecondParagraph = useMemo(() => { const perSecond = toReadable(army?.profit_per_second ?? BigInt(0)); return isRegistered && player?.has_active_session ? (

per second: {perSecond}

) : null; }, [isRegistered, army?.profit_per_second, player?.has_active_session]); const onRegister = useCallback(() => { if (player?.has_active_session) return; openRegistrationModal(); }, [player?.has_active_session, openRegistrationModal]); return (

{title}

{subtitle} {perSecondParagraph}
); }; // export default Header export default dynamic(() => Promise.resolve(Header), { ssr: false, });