@props([ 'progress', // WitnessProgress 'statement', // WitnessStatement 'optionsConfig' => [], 'options' => [], 'versions' => null, ]) @php $ready = $progress->isReadyToGenerate(); $blockers = $progress->blockers(); $primary = $progress->primaryBlocker(); $metrics = [ ['label' => 'Required answered', 'value' => $progress->requiredAnswered.'/'.$progress->requiredTotal, 'ok' => $progress->requiredUnanswered === []], ['label' => 'Suggestions reviewed', 'value' => $progress->suggestionsReviewed().'/'.$progress->suggestionsTotal, 'ok' => $progress->awaitingReview === 0], ['label' => 'Conflicts', 'value' => (string) count($progress->conflicts), 'ok' => $progress->conflicts === []], ['label' => 'Exhibits included', 'value' => (string) $progress->exhibitCount, 'ok' => true], ]; @endphp
merge(['class' => 'witness-readiness']) }}>

Statement Readiness

{{-- Metrics --}}
@foreach($metrics as $m)
{{ $m['label'] }}
{{ $m['value'] }}
@endforeach
{{-- Next best action / generate --}} @if($ready)
Everything checks out.
@else

Next step

@if(count($blockers) > 1)
    @foreach(array_slice($blockers, 1) as $b) @endforeach
@endif @endif
{{-- Statement pack (content-affecting options only) --}}

Post and email delivery are handled after generation, from the sending / print queue.


{{-- Version history (collapsed; compact empty state) --}}