{#if instanceQuery.isLoading}
{:else if !instanceQuery.data}

Fluxo não encontrado

Voltar para lista
{:else} {@const instance = instanceQuery.data.instance} {@const steps = instanceQuery.data.steps} {@const statusBadge = getInstanceStatusBadge(instance.status)}
Voltar {statusBadge.label}

{instance.templateName ?? 'Fluxo'}

{#if instance.contratoId}
Contrato {instance.contratoId}
{/if}
Gerente: {instance.managerName ?? '-'}
Iniciado: {formatDate(instance.startedAt)}
{#if instance.status === 'active'} {/if}
{#if processingError}
{processingError}
{/if}

Timeline do Fluxo

{#each steps as step, index (step._id)} {@const stepStatus = getStatusBadge(step.status)} {@const isCurrent = isStepCurrent(step._id)} {@const overdue = step.status !== 'completed' && isOverdue(step.dueDate)}
{#if index < steps.length - 1}
{/if}
{#if step.status === 'completed'} {:else if step.status === 'blocked'} {:else} {index + 1} {/if}

{step.stepName}

{stepStatus.label} {#if overdue} Atrasado {/if}
{#if step.stepDescription}

{step.stepDescription}

{/if}
{step.setorNome ?? 'Setor não definido'} {#if step.assignedToName} {step.assignedToName} {/if} {#if step.dueDate} Prazo: {formatDate(step.dueDate)} {/if}
{#if instance.status === 'active'}
{#if step.status === 'pending'} {:else if step.status === 'in_progress'} {:else if step.status === 'blocked'} {/if}
{/if}
{#if step.notes}

{step.notes}

{/if} {#if step.documents && step.documents.length > 0}

Documentos

{#each step.documents as doc (doc._id)}
{doc.name}
{/each}
{/if} {#if step.startedAt || step.finishedAt}
{#if step.startedAt} Iniciado: {formatDate(step.startedAt)} {/if} {#if step.finishedAt} Concluído: {formatDate(step.finishedAt)} {/if}
{/if}
{/each}
{/if}
{#if showReassignModal && stepToReassign} {/if} {#if showNotesModal && stepForNotes} {/if} {#if showUploadModal && stepForUpload} {/if} {#if showCancelModal} {/if}