diff --git a/static/js/audiobook-cast.js b/static/js/audiobook-cast.js index ad0c89d..9fdfd52 100644 --- a/static/js/audiobook-cast.js +++ b/static/js/audiobook-cast.js @@ -2314,8 +2314,7 @@ STRIKTE FORMAT- UND TEXTREGELN: const _abIsNarrSeg = (s) => s?.type !== 'dialogue' || !s.speaker || /^Narrator$/i.test(s.speaker); const _abMergedSegment = (a, b) => { let base = a; - if (_abIsUnknownSeg(a) && !_abIsUnknownSeg(b)) base = b; - else if (_abIsNarrSeg(a) && !_abIsNarrSeg(b)) base = b; + if ((_abIsUnknownSeg(a) && !_abIsUnknownSeg(b)) || (_abIsNarrSeg(a) && !_abIsNarrSeg(b))) base = b; const type = _abIsNarrSeg(base) ? 'narration' : 'dialogue'; const speaker = type === 'narration' ? 'Narrator' : (base.speaker || 'Unknown'); return { @@ -2349,9 +2348,8 @@ STRIKTE FORMAT- UND TEXTREGELN: active.arr.splice(leftIdx, 2, merged); if (active.key === 'segments') _audiobook.segments = active.arr; else _audiobook.liveSegments = active.arr; - if (!leftRow || !rightRow || leftRow.parentNode !== rightRow.parentNode) { - _abRedrawSegmentsChunked(active.arr); - } else if (!_abPatchRowRange([leftRow, rightRow], [merged], active.arr)) { + if (!leftRow || !rightRow || leftRow.parentNode !== rightRow.parentNode + || !_abPatchRowRange([leftRow, rightRow], [merged], active.arr)) { _abRedrawSegmentsChunked(active.arr); } _abPersistManualEdit();