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,24 +1693,28 @@ 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 className="line-numbers__inner"
key={line} style={{ height: totalLineNumberHeight ? `${totalLineNumberHeight}px` : undefined }}
className="line-numbers__line" >
style={{ height: lineHeights[index] ? `${lineHeights[index]}px` : undefined }} {visibleLineNumbers.map((item) => (
> <div
{line} key={item.line}
</div> className="line-numbers__line"
))} style={{
top: `${item.top}px`,
height: `${item.height || defaultLineHeight}px`
}}
>
{item.line}
</div>
))}
</div>
</div> </div>
) : null} ) : null}
{markdownPreview ? ( {markdownPreview ? (