Refactor line number rendering in App.tsx
This commit is contained in:
32
src/App.tsx
32
src/App.tsx
@@ -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 ? (
|
||||||
|
|||||||
Reference in New Issue
Block a user