@php use App\Services\ActivityTargets\ActivityTargetAssignment; $pageConfig = $pageConfig ?? []; $indexRoute = (string) ($pageConfig['indexRoute'] ?? 'activity-targets.index'); $storeRoute = (string) ($pageConfig['storeRoute'] ?? 'activity-targets.store'); $deactivateRouteName = (string) ($pageConfig['deactivateRouteName'] ?? 'activity-targets.deactivate'); $emptyMessage = (string) ($pageConfig['emptyMessage'] ?? 'No activity targets match these filters.'); $managerUserOnly = (bool) ($managerUserOnly ?? false); $modalIdPrefix = (string) ($activityTargetsConfig['modalIdPrefix'] ?? ''); $deactivateFormRef = (string) ($activityTargetsConfig['deactivateFormRef'] ?? 'activityDeactivateForm'); $periodTypeOptions = [ ['value' => 'daily', 'label' => 'Daily'], ['value' => 'weekly', 'label' => 'Weekly'], ['value' => 'monthly', 'label' => 'Monthly'], ]; $assignmentTypeOptions = [ ['value' => ActivityTargetAssignment::TYPE_DEALER, 'label' => 'Dealer-wide'], ['value' => ActivityTargetAssignment::TYPE_USER, 'label' => 'Specific user'], ['value' => ActivityTargetAssignment::TYPE_ROLE, 'label' => 'Role'], ]; $summaryMetrics = [ ['label' => 'Total', 'key' => 'total'], ['label' => 'Active', 'key' => 'active', 'value_class' => 'text-emerald-700'], ['label' => 'Inactive', 'key' => 'inactive', 'value_class' => 'text-gray-600'], ]; @endphp
@if (! empty($sectionTitle))

{{ $sectionTitle }}

@endif
@if ($showFlashMessages ?? false) @endif
@foreach ($summaryMetrics as $metric)
{{ $metric['label'] }}
{{ number_format((int) data_get($summary, $metric['key'], 0)) }}
@endforeach
@if (! $managerUserOnly)
@endif

{{ number_format(count($targets ?? [])) }} target(s)

@forelse ($targetGroups ?? [] as $scopeGroup) @php $scopeKey = $scopeGroup['key']; $scopeTargets = $scopeGroup['targets']; $scopeActiveCount = $scopeTargets->where('is_active', true)->count(); @endphp @foreach ($scopeGroup['period_groups'] as $periodGroup) @php $periodKey = $periodGroup['key']; $periodTargets = $periodGroup['targets']; $periodActiveCount = $periodTargets->where('is_active', true)->count(); @endphp @if ($periodTargets->isNotEmpty()) @foreach ($periodTargets as $target) @endforeach @endif @endforeach @empty @endforelse
Activity Period Qty Points Starts Ends Status
{{ $scopeGroup['label'] }} {{ $scopeTargets->count() }} {{ $scopeTargets->count() === 1 ? 'target' : 'targets' }} @if ($scopeActiveCount < $scopeTargets->count()) · {{ $scopeActiveCount }} active @endif
{{ $periodGroup['label'] }} {{ $periodTargets->count() }} @if ($periodActiveCount < $periodTargets->count()) · {{ $periodActiveCount }} active @endif
{{ $target->activityType?->name ?? '—' }} {{ $target->periodLabel() }} {{ (int) $target->target_quantity }} {{ $target->target_points !== null ? (int) $target->target_points : '—' }} {{ $target->starts_at?->format('Y-m-d') ?? '—' }} {{ $target->ends_at?->format('Y-m-d') ?? '—' }} @if ($target->is_active) Active @else Inactive @endif
{{ $emptyMessage }}