diff --git a/web/react/src/App.tsx b/web/react/src/App.tsx index 18b33ce..21e4bda 100644 --- a/web/react/src/App.tsx +++ b/web/react/src/App.tsx @@ -116,7 +116,7 @@ function VirtualizedExecutionTrace({ entries, executing }: { entries: Array<{ li return
{ const node = event.currentTarget; followRef.current = node.scrollHeight - node.scrollTop - node.clientHeight < TRACE_ROW_HEIGHT * 1.5; updateWindow(); }}>
    {visible.map((entry, offset) => { const index = windowRange.start + offset; const isCurrent = executing && index === entries.length - 1; return
  1. L{entry.line}{entry.text || "-"}
  2. ; })}
; } -function ProgramPane({ text, setText, activeGcodes, executionTrace, programStatus, onLoad, onRun, onStep, onOpenFile, canLoad, canRun, canStep, currentLine, executionLine, executionLineText, diagnostic }: { text: string; setText: (text: string) => void; activeGcodes: string; executionTrace: Array<{ line: number; text: string; program_status?: string | null }>; programStatus: string; onLoad: () => void; onRun: () => void; onStep: () => void; onOpenFile: () => void; canLoad: boolean; canRun: boolean; canStep: boolean; currentLine: number | null; executionLine: number | null; executionLineText: string; diagnostic: string | null }) { +function ProgramPane({ text, setText, activeGcodes, executionTrace, programStatus, onLoad, onRun, onStep, canLoad, canRun, canStep, currentLine, executionLine, executionLineText, diagnostic }: { text: string; setText: (text: string) => void; activeGcodes: string; executionTrace: Array<{ line: number; text: string; program_status?: string | null }>; programStatus: string; onLoad: () => void; onRun: () => void; onStep: () => void; canLoad: boolean; canRun: boolean; canStep: boolean; currentLine: number | null; executionLine: number | null; executionLineText: string; diagnostic: string | null }) { const lines = text.split("\n"); const executing = ["running", "paused"].includes(programStatus.toLowerCase()); const mainLine = executing && currentLine && currentLine > 0 && currentLine <= lines.length ? currentLine : null; @@ -144,7 +144,7 @@ function ProgramPane({ text, setText, activeGcodes, executionTrace, programStatu }, [mainLine]); const visibleLines = lines.slice(editorWindow.start, editorWindow.end); const lineClass = (line: number) => line === mainLine ? "current-line" : executedLines.has(line) ? "completed-line" : ""; - return
{visibleLines.map((_, offset) => { const index = editorWindow.start + offset; const line = index + 1; return {line}; })}