import React, { useEffect } from "react"; import Editor from "react-simple-code-editor"; import { highlightCode, loadLanguage } from "../utils/language"; interface CodeEditorProps { value: string; onChange: (value: string) => void; language: string; readOnly?: boolean; } export const CodeEditor: React.FC = ({ value, onChange, language, readOnly = false, }) => { useEffect(() => { const highlight = async () => { await loadLanguage(language); }; void highlight(); }, [language]); const hightlightWithLineNumbers = (input: string) => input .split("\n") .map( (line, i) => `
${ i + 1 }${highlightCode( line || " ", language )}
` ) .join(""); return (
); };