import * as React from 'react' import { useLocation } from 'react-router-dom' // @ts-ignore import dynamicReact from '@markdoc/markdoc/dist/react' import { Link } from '@redocly/theme/components/Link/Link' import { useThemeHooks } from '@redocly/theme/core/hooks' import { idify } from '../helpers' import { Button } from '@redocly/theme/components/Button/Button' export { default as XRPLoader } from '../components/XRPLoader' export { XRPLCard, CardGrid } from '../components/XRPLCard' export { AmendmentsTable, AmendmentDisclaimer, Badge } from '../components/Amendments' export function IndexPageItems() { const { usePageSharedData } = useThemeHooks() const data = usePageSharedData('index-page-items') as any[] return (
) } export function InteractiveBlock(props: { children: React.ReactNode label: string steps: string[] }) { const stepId = idify(props.label) const { pathname } = useLocation() return ( // add key={pathname} to ensure old step state gets rerendered on page navigation
    {props.steps?.map((step, idx) => { const iterStepId = idify(step).toLowerCase() let className = `breadcrumb-item bc-${iterStepId}` if (idx > 0) className += ' disabled' if (iterStepId === stepId) className += ' current' return (
  • {step}
  • ) })}
{dynamicReact(props.children, React, {})}
) } export function RepoLink(props: { children: React.ReactNode path: string github_fork: string github_branch: string }) { const treeblob = props.path.indexOf(".") >= 0 ? "blob/" : "tree/" const sep = props.github_fork[-1] == "/" ? "" : "/" const href = props.github_fork+sep+treeblob+props.github_branch+"/"+props.path return ( {dynamicReact(props.children, React, {})} ) } export function CodePageName(props: { name: string }) { return ( {props.name} ) } type TryItServer = 's1' | 's2' | 'xrplcluster' | 'testnet' | 'devnet' | 'testnet-clio' | 'devnet-clio' export function TryIt(props: { method: string, server?: TryItServer }) { const { useTranslate } = useThemeHooks() const { translate } = useTranslate() let use_server = "" if (props.server == "s1") { use_server = "?server=wss%3A%2F%2Fs1.ripple.com%2F" } else if (props.server == "s2") { use_server = "?server=wss%3A%2F%2Fs2.ripple.com%2F" } else if (props.server == "xrplcluster") { use_server = "?server=wss%3A%2F%2Fxrplcluster.com%2F" } else if (props.server == 'devnet') { use_server = "?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F" } else if (props.server == 'testnet') { use_server = "?server=wss%3A%2F%2Fs.altnet.rippletest.net%3A51233%2F" } else if (props.server == 'testnet-clio') { use_server = "?server=wss%3A%2F%2Fclio.altnet.rippletest.net%3A51233%2F" } else if (props.server == 'devnet-clio') { use_server = "?server=wss%3A%2F%2Fclio.devnet.rippletest.net%3A51233%2F" } const to_path = `/resources/dev-tools/websocket-api-tool${use_server}#${props.method}` return ( {translate("component.tryit", "Try it!")} ) } export function TxExample(props: { txid: string, server?: TryItServer }) { const { useTranslate } = useThemeHooks() const { translate } = useTranslate() let use_server = "" if (props.server == "s1") { use_server = "&server=wss%3A%2F%2Fs1.ripple.com%2F" } else if (props.server == "s2") { use_server = "&server=wss%3A%2F%2Fs2.ripple.com%2F" } else if (props.server == "xrplcluster") { use_server = "&server=wss%3A%2F%2Fxrplcluster.com%2F" } else if (props.server == 'devnet') { use_server = "&server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F" } else if (props.server == 'testnet') { use_server = "&server=wss%3A%2F%2Fs.altnet.rippletest.net%3A51233%2F" } const ws_req = `req=%7B%22id%22%3A%22example_tx_lookup%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22${props.txid}%22%2C%22binary%22%3Afalse%2C%22api_version%22%3A2%7D` const to_path = `/resources/dev-tools/websocket-api-tool?${ws_req}${use_server}` return ( {translate("component.queryexampletx", "Query example transaction")} ) } export function NotEnabled() { const { useTranslate } = useThemeHooks() const { translate } = useTranslate() return ( ) }