| codeLanguages: CodeLanguage | codeLanguages: CodeLanguage | ||||
| fileList?: FileEntity[] | fileList?: FileEntity[] | ||||
| showFileList?: boolean | showFileList?: boolean | ||||
| showCodeGenerator?: boolean | |||||
| } | } | ||||
| const Base: FC<Props> = ({ | const Base: FC<Props> = ({ | ||||
| codeLanguages, | codeLanguages, | ||||
| fileList = [], | fileList = [], | ||||
| showFileList, | showFileList, | ||||
| showCodeGenerator = false, | |||||
| }) => { | }) => { | ||||
| const ref = useRef<HTMLDivElement>(null) | const ref = useRef<HTMLDivElement>(null) | ||||
| const { | const { | ||||
| e.stopPropagation() | e.stopPropagation() | ||||
| }}> | }}> | ||||
| {headerRight} | {headerRight} | ||||
| <div className='ml-1'> | |||||
| <CodeGeneratorButton onGenerated={onGenerated} codeLanguages={codeLanguages}/> | |||||
| </div> | |||||
| {showCodeGenerator && ( | |||||
| <div className='ml-1'> | |||||
| <CodeGeneratorButton onGenerated={onGenerated} codeLanguages={codeLanguages}/> | |||||
| </div> | |||||
| )} | |||||
| {!isCopied | {!isCopied | ||||
| ? ( | ? ( | ||||
| <Clipboard className='mx-1 w-3.5 h-3.5 text-gray-500 cursor-pointer' onClick={handleCopy} /> | <Clipboard className='mx-1 w-3.5 h-3.5 text-gray-500 cursor-pointer' onClick={handleCopy} /> |
| noWrapper?: boolean | noWrapper?: boolean | ||||
| isExpand?: boolean | isExpand?: boolean | ||||
| showFileList?: boolean | showFileList?: boolean | ||||
| showCodeGenerator?: boolean | |||||
| } | } | ||||
| export const languageMap = { | export const languageMap = { | ||||
| noWrapper, | noWrapper, | ||||
| isExpand, | isExpand, | ||||
| showFileList, | showFileList, | ||||
| showCodeGenerator = false, | |||||
| }) => { | }) => { | ||||
| const [isFocus, setIsFocus] = React.useState(false) | const [isFocus, setIsFocus] = React.useState(false) | ||||
| const [isMounted, setIsMounted] = React.useState(false) | const [isMounted, setIsMounted] = React.useState(false) | ||||
| codeLanguages={language} | codeLanguages={language} | ||||
| fileList={fileList} | fileList={fileList} | ||||
| showFileList={showFileList} | showFileList={showFileList} | ||||
| showCodeGenerator={showCodeGenerator} | |||||
| > | > | ||||
| {main} | {main} | ||||
| </Base> | </Base> |
| language={inputs.code_language} | language={inputs.code_language} | ||||
| value={inputs.code} | value={inputs.code} | ||||
| onChange={handleCodeChange} | onChange={handleCodeChange} | ||||
| showCodeGenerator={true} | |||||
| /> | /> | ||||
| </div> | </div> | ||||
| <Split /> | <Split /> |