import React, { useState, useEffect } from 'react' import ReactMarkdown from 'react-markdown' import rehypeRaw from 'rehype-raw' import rehypeSanitize from 'rehype-sanitize' import remarkGfm from 'remark-gfm' import LoadingSpinner from './LoadingSpinner' const Docs: React.FC = () => { const [markdown, setMarkdown] = useState('') const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { const fetchMarkdown = async () => { try { setLoading(true) const response = await fetch( 'https://raw.githubusercontent.com/facebookresearch/omnisealbench/refs/heads/main/README.md' ) if (!response.ok) { throw new Error(`Failed to fetch documentation: ${response.status}`) } const text = await response.text() setMarkdown(text) } catch (err) { console.error('Error fetching markdown:', err) setError(err instanceof Error ? err.message : 'Unknown error') } finally { setLoading(false) } } fetchMarkdown() }, []) if (loading) { return } if (error) { return (
Failed to load documentation: {error}
) } return (
(

), h2: ({ node, ...props }) => (

), h3: ({ node, ...props }) => (

), h4: ({ node, ...props }) => (

), p: ({ node, ...props }) =>

, ul: ({ node, ...props }) =>