import React from 'react'; import StyledWrapper from './StyledWrapper'; const renderLine = (line, highlightClass, hunkIdx) => { const isHighlighted = line.isHighlighted || line.isError; const key = hunkIdx != null ? `${hunkIdx}-${line.lineNumber}` : line.lineNumber; return (
{line.lineNumber} {isHighlighted ? '> ' : ' '}{line.content}
); }; const CodeSnippet = ({ lines, hunks, variant = 'error' }) => { const highlightClass = variant === 'warning' ? 'highlighted-warning' : 'highlighted-error'; if (hunks?.length) { return (
{hunks.map((hunk, idx) => ( {hunk.hasSeparatorBefore && (
{'\u22EE'}
)} {hunk.lines.map((line) => renderLine(line, highlightClass, idx))}
))}
); } if (!lines?.length) return null; return (
{lines.map((line) => renderLine(line, highlightClass))}
); }; export default CodeSnippet;