fix(code_blocks): fix runtime error if language is not found in Prism.languages (default to shell)
+ 9
- 3
app/components/Code.tsx
@@ -21,9 +21,15 @@ export const Code: VFC<CodeProps & WithThemeSchemeProp> = ({
   const innerHtml = useMemo(
     () => ({
       __html:
-        language in Prism.languages
-          ? Prism.highlight(code, Prism.languages[language], language)
-          : Prism.highlight(code, Prism.languages["sh"], language),
+        Prism != null &&
+        typeof Prism !== 'undefined' &&
+        "languages" in Prism &&
+        typeof Prism.languages === "object" &&
+        Prism.languages != null
+          ? language in Prism.languages
+            ? Prism.highlight(code, Prism.languages[language], language)
+            : Prism.highlight(code, Prism.languages["sh"], 'sh')
+          : code,
     }),
     [code, language]
   );