{#if hasBlocks}

{reviewedCount} / {totalCount} geprüft

{#each sortedBlocks as block, i (block.id)} {#if dragDrop.dropTargetIdx === i}
{/if}
dragDrop.handleGripDown(e, block.id)} class="relative transition-all duration-150 {dragDrop.draggedBlockId === block.id ? 'z-10 rounded-lg shadow-xl ring-2 ring-turquoise/40' : ''}" style={dragDrop.draggedBlockId === block.id ? `transform: translateY(${dragDrop.dragOffsetY}px) scale(1.02); opacity: 0.9;` : ''} > autoSave.handleTextChange(block.id, text)} onFocus={() => handleFocus(block.id)} onDeleteClick={() => handleDelete(block.id)} onRetry={() => autoSave.handleRetry(block.id, block.text)} onReviewToggle={() => onReviewToggle(block.id)} onMoveUp={() => handleMoveUp(block.id)} onMoveDown={() => handleMoveDown(block.id)} isFirst={i === 0} isLast={i === sortedBlocks.length - 1} source={block.source} />
{/each} {#if dragDrop.dropTargetIdx === sortedBlocks.length}
{/if}
{m.transcription_next_block_cta({ number: sortedBlocks.length + 1 })}
{#if canRunOcr && onTriggerOcr}

{m.ocr_section_heading()}

{/if}
{:else}
{/if} {#if canWrite && hasBlocks}

Für Training vormerken

{#each [{ label: 'KURRENT_RECOGNITION', display: m.training_chip_kurrent() }, { label: 'KURRENT_SEGMENTATION', display: m.training_chip_segmentation() }] as chip (chip.label)} {/each}
{/if}