import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'; import { gruvboxDark } from 'react-syntax-highlighter/dist/esm/styles/prism'; interface CodeBlockProps { code: string; language: string; } const CodeBlock = ({ code, language }: CodeBlockProps) => { // Map common language aliases const normalizeLanguage = (lang: string): string => { const langMap: Record = { 'js': 'javascript', 'ts': 'typescript', 'py': 'python', 'rb': 'ruby', 'sh': 'bash', 'shell': 'bash', 'yml': 'yaml', 'md': 'markdown', }; return langMap[lang.toLowerCase()] || lang.toLowerCase(); }; const normalizedLang = normalizeLanguage(language); return (
{language || 'code'}
5} > {code}
); }; export default CodeBlock;