Refactor line number rendering in App.tsx

This commit is contained in:
2026-02-01 03:28:48 +01:00
parent 0024acdf40
commit b907855513

View File

@@ -1693,25 +1693,29 @@ export default function App() {
> >
{showLineNumbersActive ? ( {showLineNumbersActive ? (
<div className="line-measure" ref={measureRef} aria-hidden="true"> <div className="line-measure" ref={measureRef} aria-hidden="true">
{lines.map((line, index) => ( <div className="line-measure__line" ref={measureLineRef} />
<div key={index} className="line-measure__line">
{line.length > 0 ? line : " "}
</div>
))}
</div> </div>
) : null} ) : null}
{showLineNumbersActive ? ( {showLineNumbersActive ? (
<div className="line-numbers" ref={lineNumbersRef}> <div className="line-numbers" ref={lineNumbersRef}>
{lineNumbers.map((line, index) => (
<div <div
key={line} className="line-numbers__inner"
className="line-numbers__line" style={{ height: totalLineNumberHeight ? `${totalLineNumberHeight}px` : undefined }}
style={{ height: lineHeights[index] ? `${lineHeights[index]}px` : undefined }}
> >
{line} {visibleLineNumbers.map((item) => (
<div
key={item.line}
className="line-numbers__line"
style={{
top: `${item.top}px`,
height: `${item.height || defaultLineHeight}px`
}}
>
{item.line}
</div> </div>
))} ))}
</div> </div>
</div>
) : null} ) : null}
{markdownPreview ? ( {markdownPreview ? (
<div <div