fix: code generation more than 300 line

This commit is contained in:
Faisal Amir 2025-08-28 00:17:43 +07:00
parent 95d2f0f86f
commit ca20828532

View File

@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable react-hooks/exhaustive-deps */ /* eslint-disable react-hooks/exhaustive-deps */
import ReactMarkdown, { Components } from 'react-markdown' import ReactMarkdown, { Components } from 'react-markdown'
import remarkGfm from 'remark-gfm' import remarkGfm from 'remark-gfm'
@ -8,7 +7,6 @@ import rehypeKatex from 'rehype-katex'
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter' import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'
import * as prismStyles from 'react-syntax-highlighter/dist/cjs/styles/prism' import * as prismStyles from 'react-syntax-highlighter/dist/cjs/styles/prism'
import { memo, useState, useMemo } from 'react' import { memo, useState, useMemo } from 'react'
import virtualizedRenderer from 'react-syntax-highlighter-virtualized-renderer'
import { getReadableLanguageName } from '@/lib/utils' import { getReadableLanguageName } from '@/lib/utils'
import { cn } from '@/lib/utils' import { cn } from '@/lib/utils'
import { useCodeblock } from '@/hooks/useCodeblock' import { useCodeblock } from '@/hooks/useCodeblock'
@ -75,8 +73,6 @@ function RenderMarkdownComponent({
// Generate a stable ID based on code content and language // Generate a stable ID based on code content and language
const codeId = `code-${hashString(code.substring(0, 40) + language)}` const codeId = `code-${hashString(code.substring(0, 40) + language)}`
const shouldVirtualize = code.split('\n').length > 300
return !isInline && !isUser ? ( return !isInline && !isUser ? (
<div className="relative overflow-hidden border rounded-md border-main-view-fg/2"> <div className="relative overflow-hidden border rounded-md border-main-view-fg/2">
<style> <style>
@ -147,11 +143,6 @@ function RenderMarkdownComponent({
overflow: 'auto', overflow: 'auto',
border: 'none', border: 'none',
}} }}
renderer={
shouldVirtualize
? (virtualizedRenderer() as (props: any) => React.ReactNode)
: undefined
}
PreTag="div" PreTag="div"
CodeTag={'code'} CodeTag={'code'}
{...props} {...props}