diff --git a/cmd/qrunproxy/static/index.html b/cmd/qrunproxy/static/index.html index baaf093..2ae4eb3 100644 --- a/cmd/qrunproxy/static/index.html +++ b/cmd/qrunproxy/static/index.html @@ -181,13 +181,17 @@ function render(data) { const hasSignal = !hasCue && cells.some(c => c.event && c.is_signal); const rowCls = hasCue ? ' cue-row' : (hasSignal ? ' sig-row' : ''); - cells.forEach(c => { + cells.forEach((c, ti) => { const div = document.createElement('div'); div.className = 'cell' + rowCls; if (c.is_title) { const block = data.blocks[c.block_id] || {}; const loop = block.loop ? ' \u21A9' : ''; div.innerHTML = `
${block.name || ''}${loop}
`; + } else if (c.is_chain) { + const nextCell = data.tracks[ti]?.cells[r+1] || {}; + const sym = nextCell.is_start ? '\u2193' : '\u2502'; + div.innerHTML = `
${sym}
`; } else if (c.block_id) { const block = data.blocks[c.block_id] || {}; const isInfinity = r === numRows - 1 && !c.is_end && !c.is_title; diff --git a/cmd/qrunproxy/timeline.go b/cmd/qrunproxy/timeline.go index 2aebd10..97947e9 100644 --- a/cmd/qrunproxy/timeline.go +++ b/cmd/qrunproxy/timeline.go @@ -28,7 +28,7 @@ type TimelineCell struct { IsTitle bool `json:"is_title,omitempty"` IsSignal bool `json:"is_signal,omitempty"` IsGap bool `json:"-"` - IsChain bool `json:"-"` + IsChain bool `json:"is_chain,omitempty"` row int `json:"-"` track *TimelineTrack `json:"-"` }