import { Focusable, Navigation, findClass, findClassByName } from '@decky/ui'; 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) => { const eventDetailsBodyClassName = findClassByName('EventDetailsBody') || undefined; const eventLinkClassName = findClass('43088', 'Link'); return ( {nodeProps.children}, a: (nodeProps: any) => { const aRef = useRef(null); return ( // TODO fix focus ring {}} onOKButton={() => { props.onDismiss?.(); Navigation.NavigateToExternalWeb(aRef.current!.href); }} style={{ display: 'inline' }} focusClassName="steam-focus" className={eventDetailsBodyClassName} > {nodeProps.children} ); }, }} {...props} /> ); }; export default Markdown;