"use client"; import { Skeleton, Stack, Typography } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import { format } from "date-fns"; import { fetchNodeInfo } from "../../app/api"; import { formatBigNum } from "../../utils/formatBigNumbers"; import ExplorerCard from "../cards/ExplorerCard"; import CopyToClipboard from "../copyToClipboard/CopyToClipboard"; import ExplorerListItem from "../list/ListItem"; interface IBasicInfoCardProps { id: number; } export const BasicInfoCard = ({ id }: IBasicInfoCardProps) => { const { data: nodeInfo, isLoading, isError, } = useQuery({ queryKey: ["nodeInfo", id], queryFn: () => fetchNodeInfo(id), }); if (isLoading) { return ( ); } if (isError || !nodeInfo) { return ( Failed to load node data. ); } const timeBonded = format( new Date(nodeInfo.description.build_information.build_timestamp), "dd/MM/yyyy", ); const selfBond = formatBigNum( Number(nodeInfo.rewarding_details.operator) / 1_000_000, ); const selfBondFormatted = `${selfBond} NYM`; const totalStake = formatBigNum(Number(nodeInfo.total_stake) / 1_000_000); const totalStakeFormatted = `${totalStake} NYM`; return ( {nodeInfo.bonding_address} } /> {nodeInfo.identity_key} } /> ); };