import { Light as SyntaxHighlighter } from 'react-syntax-highlighter' import monokaiCustomTheme from './CodeBlock.utils' import { Button, IconCheck, IconCopy } from '@supabase/ui' import CopyToClipboard from 'react-copy-to-clipboard' import js from 'react-syntax-highlighter/dist/cjs/languages/hljs/javascript' import py from 'react-syntax-highlighter/dist/cjs/languages/hljs/python' import sql from 'react-syntax-highlighter/dist/cjs/languages/hljs/sql' import { useState } from 'react' interface Props { lang: 'js' | 'sql' | 'py' startingLineNumber?: number hideCopy?: boolean className?: string children?: string size?: 'small' | 'medium' | 'large' } function CodeBlock(props: Props) { const [copied, setCopied] = useState(false) const handleCopy = () => { setCopied(true) setTimeout(() => { setCopied(false) }, 1000) } let lang = props.lang ? props.lang : props.className ? props.className.replace('language-', '') : 'js' // force jsx to be js highlighted if (lang === 'jsx') lang = 'js' SyntaxHighlighter.registerLanguage('js', js) SyntaxHighlighter.registerLanguage('py', py) SyntaxHighlighter.registerLanguage('sql', sql) // const large = props.size === 'large' ? true : false const large = false return (