@extends('admin.layouts.app') @section('title','Paper — '.$paper->paper_code) @section('page-title','Paper Detail') @section('page-subtitle',$paper->paper_code.' · '.\App\Support\PaperWorkflowStatus::label($paper->workflow_status ?? 'submitted')) @section('papers-active','active') @section('content') @if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
@endif
← Back to papers
{{ $paper->title }}
{{ $paper->conference?->name }} · Track: {{ $paper->subTheme?->title ?? 'General' }}
{{ \App\Support\PaperWorkflowStatus::label($paper->workflow_status ?? 'submitted') }}

Paper ID: {{ $paper->paper_code }}

Author: {{ $paper->corresponding_author_name }} ({{ $paper->corresponding_author_email }})

Submitted: {{ $paper->submitted_at?->format('M d, Y H:i') }}

Review mode: {{ $reviewMode === 'double_blind' ? 'Double-blind' : 'Single review' }}

@if($paper->paper_file) Original manuscript @endif @if($paper->anonymized_file_path) Anonymized PDF @endif @if(! $paper->isLegacyImport()) Edit authors @endif
@if($paper->usesWorkflow() && in_array($paper->workflow_status, ['submitted', 'desk_review'], true))
Desk Review (Stage 2)

Check formatting, scope, and relevance. For double-blind mode, upload an anonymized PDF before passing.

@if($paper->workflow_status === 'submitted')
@csrf
@endif
@csrf @if($reviewMode === 'double_blind')
@endif
@csrf
@endif @if($paper->usesWorkflow() && in_array($paper->workflow_status, ['under_review', 'reviewers_assigned', 're_review'], true))
Reviewer Assignment (Stage 3)

Assign {{ $paper->conference?->paper_reviewers_per_paper ?? 2 }}–3 reviewers. Target load: max {{ $paper->conference?->paper_reviewer_max_load ?? 5 }} papers per reviewer.

@if($paper->reviewerAssignments->whereNotIn('status', ['declined'])->isNotEmpty()) @foreach($paper->reviewerAssignments as $ra) @endforeach
ReviewerDeadlineStatus
{{ $ra->reviewer?->name }} {{ $ra->deadline?->format('M d, Y') ?? '—' }} {{ ucfirst($ra->status) }}@if($ra->coi_declared) (COI)@endif @if($ra->status !== 'submitted')
@csrf @method('DELETE')
@endif
@endif @if($eligibleReviewers->isNotEmpty())
@csrf
Hold Ctrl/Cmd to select multiple.
@else

No eligible reviewers available (check reviewer roles, load limits, or conflicts).

@endif
@endif @endif @if($paper->reviews->isNotEmpty())
Review summary
Reviews: {{ $reviewSummary['count'] }}
@if($reviewSummary['overall_average'])
Avg score: {{ number_format($reviewSummary['overall_average'], 1) }}/10
@endif @foreach($reviewSummary['recommendations'] as $rec => $cnt)
{{ str_replace('_', ' ', ucfirst($rec)) }}: {{ $cnt }}
@endforeach
@foreach($paper->reviews as $review)
Reviewer #{{ $loop->iteration }} · {{ $review->reviewed_at?->format('M d, Y') }}@if($review->is_chair_override) · Chair override@endif

{{ str_replace('_', ' ', ucfirst($review->recommendation)) }} @if($review->overall_score) · {{ $review->overall_score }}/10 @endif

@if($review->comments_to_author)

To author: {{ Str::limit($review->comments_to_author, 200) }}

@endif @if($review->comments_to_chair)

Confidential: {{ Str::limit($review->comments_to_chair, 200) }}

@endif
@endforeach
@endif @if($paper->trackRecommendationDecisions->isNotEmpty())
Track chair recommendation history

All recommendations are retained across re-review cycles.

@foreach($paper->trackRecommendationDecisions as $rec)
{{ str_replace('_', ' ', ucfirst($rec->decision)) }} · {{ $rec->decided_at?->format('M d, Y H:i') }} @if($rec->decider) · {{ $rec->decider->name }} @endif @if($rec->notes)
{{ $rec->notes }}@endif
@endforeach
@endif @if($paper->workflow_status === 'reviews_complete')
Track Chair recommendation (Stage 5)
@if($canRecommendTrack) @if($paper->latestTrackRecommendation())

Latest: {{ str_replace('_', ' ', ucfirst($paper->latestTrackRecommendation()->decision)) }} ({{ $paper->latestTrackRecommendation()->decided_at?->format('M d, Y') }})

@endif
@csrf
@else

Only the assigned track chair (or super admin) may submit a recommendation for this paper.

@endif
@endif @if(in_array($paper->workflow_status, ['decision_pending', 'reviews_complete'], true))
Program Chair final decision (Stage 6)
@php $latestTrack = $paper->latestTrackRecommendation(); @endphp @if($latestTrack)

Latest track recommendation: {{ str_replace('_', ' ', ucfirst($latestTrack->decision)) }}@if($latestTrack->notes) — {{ $latestTrack->notes }}@endif

@endif @if($canMakeFinalDecision)
@csrf

Author will receive E7–E10 via email queue.

@else

Only the assigned program chair (or super admin) may record the final decision.

@endif
@endif @if($paper->decisions->where('decision_type', 'final_decision')->isNotEmpty())
Final decision history
@foreach($paper->decisions->where('decision_type', 'final_decision')->sortByDesc('decided_at') as $fd)
{{ str_replace('_', ' ', ucfirst($fd->decision)) }} · {{ $fd->decided_at?->format('M d, Y H:i') }} @if($fd->decider) · {{ $fd->decider->name }} @endif @if($fd->revision_deadline) · Revision by {{ $fd->revision_deadline->format('M d, Y') }} @endif @if($fd->notes)
{{ $fd->notes }}@endif
@endforeach
@endif @if($paper->workflow_status === 'revision_submitted' && $paper->revised_file)
Revision review
Download revised manuscript @php $minorFlow = $paper->decisions->where('decision_type', 'final_decision')->where('decision', 'minor_revision')->isNotEmpty(); @endphp @if($minorFlow && ($canApproveMinorRevision ?? false))
@csrf
@elseif($minorFlow)

Awaiting track chair approval of minor revision.

@else

Major revision — awaiting re-review from assigned reviewers.

@endif
@endif @if($paper->revised_file && $paper->camera_ready_approved_at)
Camera-ready manuscript approved {{ $paper->camera_ready_approved_at->format('M d, Y') }}.
@endif @if($paper->workflowEvents->isNotEmpty())
Workflow audit
    @foreach($paper->workflowEvents as $event)
  • {{ $event->created_at->format('M d, Y H:i') }} — {{ \App\Support\PaperWorkflowStatus::label($event->from_status ?? '—') }} → {{ \App\Support\PaperWorkflowStatus::label($event->to_status) }} @if($event->actor) ({{ $event->actor->name }})@endif
  • @endforeach
@endif
@if($paper->notificationLogs->isNotEmpty())
Recent notifications
@foreach($paper->notificationLogs->take(5) as $log)
{{ $log->template_code }} — {{ $log->status }}
{{ $log->created_at->format('M d, H:i') }}
@endforeach
@endif
@endsection