otterscan/src/BlockTransactionHeader.tsx

39 lines
1.2 KiB
TypeScript
Raw Normal View History

import React, { useContext } from "react";
2021-07-14 19:57:08 +00:00
import { ethers } from "ethers";
import StandardSubtitle from "./StandardSubtitle";
import BlockLink from "./components/BlockLink";
import NavBlock from "./block/NavBlock";
import { RuntimeContext } from "./useRuntime";
import { useLatestBlockNumber } from "./useLatestBlock";
import { blockTxsURL } from "./url";
2021-07-14 19:57:08 +00:00
type BlockTransactionHeaderProps = {
blockTag: ethers.providers.BlockTag;
};
const BlockTransactionHeader: React.FC<BlockTransactionHeaderProps> = ({
blockTag,
}) => {
const { provider } = useContext(RuntimeContext);
const latestBlockNumber = useLatestBlockNumber(provider);
return (
<StandardSubtitle>
<div className="flex space-x-1 items-baseline">
<span>Transactions</span>
<div className="flex space-x-1 text-sm text-gray-500">
<span>For Block</span>
<BlockLink blockTag={blockTag} />
<NavBlock
blockNumber={blockTag as number}
latestBlockNumber={latestBlockNumber}
urlBuilder={blockTxsURL}
/>
</div>
</div>
</StandardSubtitle>
);
};
2021-07-14 19:57:08 +00:00
export default React.memo(BlockTransactionHeader);