import { Focusable, Navigation } from 'decky-frontend-lib'; import { FunctionComponent, useRef } from 'react'; import ReactMarkdown, { Options as ReactMarkdownOptions } from 'react-markdown'; import remarkGfm from 'remark-gfm'; interface MarkdownProps extends ReactMarkdownOptions { onDismiss?: () => void; } const Markdown: FunctionComponent = (props) => { return ( {nodeProps.children}, a: (nodeProps) => { const aRef = useRef(null); return ( // TODO fix focus ring {}} onOKButton={() => { props.onDismiss?.(); Navigation.NavigateToExternalWeb(aRef.current!.href); }} style={{ display: 'inline' }} > {nodeProps.children} ); }, }} {...props} /> ); }; export default Markdown;