{{-- Full company hierarchy tree node (cross-department, recursive up to 4 levels) --}} @php $reports = $allStaff->where('manager_id', $person->id); $hasReports = $reports->count() > 0; $personColor = $deptColors[$person->department] ?? '#6366f1'; @endphp
{{-- Person Card --}}
{{ strtoupper(substr($person->name, 0, 1)) }}

{{ $person->name }}

{{ $person->role ?? '-' }}

{{ $person->department ?? '-' }}

{{ $person->currency ?? 'PKR' }} {{ number_format($person->salary) }}

@if($hasReports) {{ $reports->count() }} report{{ $reports->count() > 1 ? 's' : '' }} @endif
{{-- Reports below --}} @if($hasReports && $level < 4)
@if($reports->count() <= 4) {{-- Few reports: show in a row with connectors --}}
@if($reports->count() > 1)
@endif
@foreach($reports as $report)
@if($reports->count() > 1)
@endif @include('dashboard.org-chart._full-tree-node', ['person' => $report, 'allStaff' => $allStaff, 'deptColors' => $deptColors, 'level' => $level + 1])
@endforeach
@else {{-- Many reports (5+): show in a grid instead of one long row --}}
@foreach($reports as $report)
@include('dashboard.org-chart._full-tree-node', ['person' => $report, 'allStaff' => $allStaff, 'deptColors' => $deptColors, 'level' => $level + 1])
@endforeach
@endif @elseif($hasReports && $level >= 4)
+{{ $reports->count() }} more
@endif