From 7042a04212c049087168b2cab0ec5111062b4d42 Mon Sep 17 00:00:00 2001 From: Caleb OLeary Date: Sat, 6 Aug 2022 12:15:54 -0500 Subject: [PATCH] fix(component): fixes codeblock so lang selection persists across refresh --- .../editor-blocks/src/blocks/code/CodeView.tsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libs/components/editor-blocks/src/blocks/code/CodeView.tsx b/libs/components/editor-blocks/src/blocks/code/CodeView.tsx index 0ef732cd54..964c11b294 100644 --- a/libs/components/editor-blocks/src/blocks/code/CodeView.tsx +++ b/libs/components/editor-blocks/src/blocks/code/CodeView.tsx @@ -105,7 +105,7 @@ const langs: Record = { // clike: () => StreamLanguage.define(clike), // clike: () => clike({ }), }; - +const DEFAULT_LANG = 'javascript'; const CodeBlock = styled('div')(({ theme }) => ({ backgroundColor: '#F2F5F9', padding: '8px 24px', @@ -132,8 +132,7 @@ const CodeBlock = styled('div')(({ theme }) => ({ })); export const CodeView: FC = ({ block, editor }) => { const initValue: string = block.getProperty('text')?.value?.[0]?.text; - const langType: string = block.getProperty('lang')?.value?.[0]?.text; - const [mode, setMode] = useState('javascript'); + const langType: string = block.getProperty('lang'); const [extensions, setExtensions] = useState(); const codeMirror = useRef(); useOnSelect(block.id, (is_select: boolean) => { @@ -147,14 +146,14 @@ export const CodeView: FC = ({ block, editor }) => { value: [{ text: value }], }); }; - useEffect(() => { - handleLangChange(langType ? langType : 'javascript'); - }, []); function handleLangChange(lang: string) { block.setProperty('lang', lang); - setMode(lang); setExtensions([langs[lang]()]); } + useEffect(() => { + handleLangChange(langType ? langType : DEFAULT_LANG); + }, []); + const copyCode = () => { copyToClipboard(initValue); }; @@ -182,7 +181,7 @@ export const CodeView: FC = ({ block, editor }) => {