import React, { useEffect, useState } from 'react'; import { highlightTypeScript } from '../utils/formatting'; export const SourceView: React.FC = () => { const [source, setSource] = useState(''); const [filename, setFilename] = useState('ontology.config.ts'); const [loading, setLoading] = useState(true); const [copied, setCopied] = useState(false); useEffect(() => { const loadSource = async () => { try { const res = await fetch('/api/source'); if (!res.ok) throw new Error('Failed to load source'); const data = await res.json(); setSource(data.source); setFilename(data.filename); } catch (err) { setSource(`Error loading source: ${(err as Error).message}`); } finally { setLoading(false); } }; loadSource(); }, []); const handleCopy = async () => { try { await navigator.clipboard.writeText(source); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch (err) { console.error('Failed to copy:', err); } }; return (
{filename}
        
      
); };