@props([ 'optionsConfig' => [], // config('witness_statement.generation_options') 'selected' => [], // array 'statement' => null, // WitnessStatement (for `requires` checks) 'disabled' => false, ]) @php $requiresMet = function ($requires) use ($statement) { if (! $requires) { return true; } return match ($requires) { 'claim.bankDetail' => (bool) $statement?->claim?->bankDetail, default => true, }; }; @endphp
merge(['class' => 'witness-generation-options']) }}>

Include the following with the Witness Statement:

@foreach($optionsConfig as $option) @php $permitted = empty($option['permission']) || auth()->user()?->can($option['permission']); $available = $requiresMet($option['requires'] ?? null); $isOn = (bool) ($selected[$option['key']] ?? false); @endphp @if($permitted)
@endif @endforeach