{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "transaction-row", "title": "Transaction row", "description": "Transaction summary for explorer and wallet lists.", "registryDependencies": [ "dennisonbertram/bitcoin-ui/bitcoin-amount", "dennisonbertram/bitcoin-ui/confirmation-progress", "dennisonbertram/bitcoin-ui/hash-display", "dennisonbertram/bitcoin-ui/protocol-badges" ], "files": [ { "path": "components/bitcoin/transaction-row.tsx", "content": "import type { ComponentProps } from \"react\";\n\nimport {\n feeRateFrom,\n formatFeeRate,\n formatRelativeTime,\n toDate,\n type BitcoinTransaction,\n} from \"@/lib/bitcoin\";\nimport { componentClasses } from \"@/lib/utils\";\n\nimport { BitcoinAmount } from \"./bitcoin-amount\";\nimport { ConfirmationProgress } from \"./confirmation-progress\";\nimport { HashDisplay } from \"./hash-display\";\nimport { type BitcoinVisualProps } from \"./shared\";\nimport { StatusBadge } from \"./status-badge\";\n\nexport type TransactionRowProps = Omit, \"children\"> &\n BitcoinVisualProps & {\n transaction: BitcoinTransaction;\n href?: string;\n now?: number | Date;\n };\n\nexport function TransactionRow({\n transaction,\n href,\n now,\n unstyled,\n className,\n ...props\n}: TransactionRowProps) {\n const feeRate = feeRateFrom(transaction.fee, transaction.vsize);\n\n return (\n \n
\n \n \n \n \n {formatFeeRate(feeRate)}\n \n {transaction.timestamp ? (\n \n {formatRelativeTime(transaction.timestamp, now)}\n \n ) : null}\n
\n \n \n \n {transaction.state === \"confirmed\" ? (\n \n ) : (\n \n {new Intl.NumberFormat(\"en-US\").format(transaction.vsize)} vB\n \n )}\n \n \n );\n}\n", "type": "registry:component" } ], "type": "registry:component" }