import { Block, BlockProps, HeadingMedium, LabelLarge, Mats, mergeOverrides, Skeleton, useStyletron, } from "@mezo-org/mezo-clay" import React from "react" import DefaultAvatar from "../../../assets/DefaultAvatar" import { useGetCurrentAccount } from "../../../hooks" import { formatNumberToCompactString } from "../../../utils/numbers" import AccountError from "./AccountError" import { usePassportContext } from "../../../hooks/usePassportContext" import SlotNumber from "../SlotNumber" const DOT_DELIMITER_REGEX = /(?=\.)/ function WelcomeBlockSkeleton() { const [, theme] = useStyletron() return ( ) } type WelcomeBlockProps = BlockProps export default function WelcomeBlock(props: WelcomeBlockProps) { const { overrides, ...restProps } = props const { accountDataRefetchInterval } = usePassportContext() const { data, isError, isPending } = useGetCurrentAccount({ staleTime: accountDataRefetchInterval, refetchInterval: accountDataRefetchInterval, }) const [, theme] = useStyletron() if (isError) { return ( ) } if (isPending) { return } const [mezoId, mezoIdSuffix] = (data.mezoId ?? "").split(DOT_DELIMITER_REGEX) return ( {mezoId && mezoIdSuffix && ( {mezoId} {mezoIdSuffix} )} {data.totalMats} {" "} mats ) }