import React, { useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPlusSquare } from "@fortawesome/free-regular-svg-icons/faPlusSquare"; import { faMinusSquare } from "@fortawesome/free-regular-svg-icons/faMinusSquare"; import { Switch } from "@headlessui/react"; import { TransactionData } from "../types"; import { FourBytesEntry } from "../use4Bytes"; import { TraceGroup } from "../useErigonHooks"; import { ResolvedAddresses } from "../api/address-resolver"; import TraceInput from "./TraceInput"; type TraceItemProps = { t: TraceGroup; txData: TransactionData; last: boolean; fourBytesMap: Record; resolvedAddresses: ResolvedAddresses | undefined; }; const TraceItem: React.FC = ({ t, txData, last, fourBytesMap, resolvedAddresses, }) => { const [expanded, setExpanded] = useState(true); return ( <>
{!last && (
)} {t.children && ( )}
{t.children && (
)} ); }; type TraceChildrenProps = { c: TraceGroup[]; txData: TransactionData; fourBytesMap: Record; resolvedAddresses: ResolvedAddresses | undefined; }; const TraceChildren: React.FC = React.memo( ({ c, txData, fourBytesMap, resolvedAddresses }) => { return ( <> {c.map((tc, i, a) => ( ))} ); } ); export default TraceItem;