@extends('layouts.app') @section('title', $project . ' Status · QA Dashboard') @section('content') @if (in_array($project, ['ERP', 'CRM', 'SMPP'], true)) @include('partials.project-tabs', ['tabBase' => '/projects', 'tabActive' => $project, 'tabQuery' => request('period') ? '?period=' . request('period') : '']) @endif

{{ $project }} · Status · target stories & linked Jira issues

@include('partials.jira-sync') @unless ($noImport ?? false) @include('partials.project-status-export', ['pxProject' => $project, 'pxTq' => $tq]) @endunless
@unless ($noImport ?? false)
{{ $summary['percent_complete'] }}% complete ({{ $summary['done'] }}/{{ $summary['total'] }})
@endunless
@if ($noImport ?? false)

No imported dashboard for {{ $tq }} yet. Upload it in Settings → Import Dashboard@if ($project === 'SMPP') (or generate it from an Epic Link)@endif, then it will appear here.

@else @if (!empty($monthCards))

Monthly progress · signed off, quarter to date · same basis as Reports → Monthly Summary

Moved-to-In-QA keys tinted by completion speed: same month next month 3rd month not yet · QA-completed keys flagged didn’t go through QA
@foreach ($monthCards as $mc)
{{ $mc['label'] }}
{{-- A month of the quarter that hasn't started yet has nothing to show. --}} @if (! empty($mc['future']))
not started yet
@else
{{ $mc['percent'] }}% {{ $mc['completed'] }}/{{ $mc['total'] }}
signed off vs {{ $mc['total'] }} targets in scope
@if (!is_null($mc['in_qa']) || !is_null($mc['qa_completed']))
Entered In QA this month ({{ $mc['in_qa'] ?? 0 }})
@forelse ($mc['in_qa_items'] as $it) {{ $it['key'] }} @empty None @endforelse
Moved to Completed this month ({{ $mc['qa_completed'] ?? 0 }})
@forelse ($mc['qa_completed_items'] as $it) {{ $it['key'] }} @empty None @endforelse
@endif @endif
@endforeach
@endif @if (!empty($types))

By story type · targets & linked issues

@foreach ($types as $ty => $c)
{{ $c['percent_complete'] }}%
{{ $c['done'] }}/{{ $c['total'] }} done
@endforeach
{{-- By-story-type drill-down modal --}}
IssueStatus
@endif @if (!empty($qa))

Assigned QA · credited to the assigned QA (owner); bugs go to the QA who reported them

@foreach ($qa as $m) @endforeach
MemberProgressDoneRemainingTotal
{{ $m['name'] }} {{ $m['done'] }} {{ $m['total'] - $m['done'] }} {{ $m['total'] }}
{{-- Per-QA drill-down modal (stories + bugs credited to the member) --}}
Assigned QA ·
TypeStory / BugStatus
@endif

Quarter Targets · {{ $tq }}

@if ($anyActive) @endif
Columns
@forelse ($epicGroups as $eg)
@foreach ($eg['rows'] as $r) @include('pages.partials.status-card', ['r' => $r, 'groupOrder' => $groupOrder]) @endforeach
@empty @endforelse @if (count($flatRows))
@foreach ($flatRows as $r) @include('pages.partials.status-card', ['r' => $r, 'groupOrder' => $groupOrder]) @endforeach
@endif
@if (empty($epicGroups) && empty($flatRows))

No target stories for {{ $tq }}.

@endif @endif @endsection @push('scripts') @endpush