{{-- PDF Preview Card with Inline Annotation --}} @php // Calculate permissions first $isCreator = auth()->id() === $surat->created_by; $canApprove = $surat->canApprove(auth()->user()); $canSign = $surat->canSign(auth()->user()); $canForwardPaurmin = $surat->canForwardAsPaurmin(auth()->user()); $canForwardKasmin = $surat->canForwardAsKasmin(auth()->user()); $canApproveAsWapang = $surat->canApproveAsWapang(auth()->user()); $canSignPangwapang = $surat->canSignAsPangwapang(auth()->user()); $canAnnotate = $canApprove || $canSign || $canForwardPaurmin || $canForwardKasmin || $canApproveAsWapang || $canSignPangwapang; // Untuk penandatangan: hanya boleh pena hitam tipis (untuk tanda tangan) $isSignerMode = ($canSign || $canSignPangwapang) && !$canApprove && !$canForwardPaurmin && !$canForwardKasmin && !$canApproveAsWapang; // Determine which PDF to show (priority: numbered > annotated > current): // - If file_numbered exists (after TU numbering), show numbered version // - If file_annotated exists, show annotated version // - Otherwise show file_current if ($surat->file_numbered) { $pdfToShow = 'numbered'; $pdfVersionLabel = 'Versi Final (dengan Nomor Surat)'; $annotatedTabLabel = 'Ditandatangani'; } elseif ($surat->file_annotated) { $pdfToShow = 'annotated'; // Label berbeda: untuk signer = "Tanda Tangan", untuk lainnya = "Anotasi/Koreksi" if ($surat->signed_at) { $pdfVersionLabel = 'Versi Ditandatangani'; $annotatedTabLabel = 'Ditandatangani'; } elseif ($isSignerMode) { $pdfVersionLabel = 'Tanda Tangan'; $annotatedTabLabel = 'Tanda Tangan'; } else { $pdfVersionLabel = 'Anotasi/Koreksi'; $annotatedTabLabel = 'Anotasi/Koreksi'; } } else { $pdfToShow = 'current'; $pdfVersionLabel = 'Versi Asli'; $annotatedTabLabel = 'Anotasi/Koreksi'; } // Siapa yang bisa annotate di file annotated: // - PAURMIN/KASMIN (untuk koreksi) // - Pangwapang signer (untuk TTD) // - Regular signer (untuk TTD) - PENTING: signer harus bisa TTD di file yang sudah ada anotasi counter paraf // Approver (counter paraf) hanya bisa annotate di file current $canAnnotateOnCurrentPdf = ($canForwardPaurmin || $canForwardKasmin || $canSignPangwapang || $canSign) ? ($pdfToShow === 'current' || $pdfToShow === 'annotated') : ($pdfToShow === 'current'); // Cache-bust untuk preview PDF (hindari Blade inline di JS yang bisa cause SyntaxError) $pdfViewUrl = route('surat-keluar-workflow.view-pdf', ['surat' => $surat]); $cacheBustTs = $surat->updated_at ? $surat->updated_at->timestamp : now()->timestamp; @endphp @push('styles') @endpush
Dokumen Surat @if($pdfToShow === 'numbered') {{ $pdfVersionLabel }} @elseif($pdfToShow === 'annotated') {{ $pdfVersionLabel }} @endif
@if($surat->file_current || $surat->file_annotated || $surat->file_numbered) Download @endif
{{-- Toggle between versions (if multiple exist) --}} @if(($surat->file_annotated && $surat->file_current) || $surat->file_numbered)
@if($surat->file_numbered) @endif @if($surat->file_annotated) @endif
@endif {{-- Reorderable wrapper for tablet - toolbar moves to bottom --}}
{{-- Annotation Toolbar (for approvers/signers/PAURMIN/KASMIN) --}} @if($canAnnotate && $canAnnotateOnCurrentPdf)
@if($isSignerMode) {{-- SIGNER MODE: Simplified toolbar - only pen with black color, thin stroke --}} {{-- Mobile --}}
{{-- Hidden inputs with fixed values --}}
{{-- Desktop --}}
{{-- Hidden input with fixed black color --}}
@else {{-- APPROVER MODE: Full toolbar with all tools --}} {{-- Mobile: 2 rows layout --}}
{{-- Row 1: Drawing Tools --}}
{{-- Row 2: Color, Size, Actions --}}
{{-- Desktop: Single row layout --}}
{{-- Drawing Tools --}}
{{-- Color & Size --}}
{{-- Actions --}}
@endif
@endif {{-- Info banner for creator when there's annotation --}} @if($isCreator && ($pdfToShow !== 'current'))
Dokumen ini telah diberikan koreksi/anotasi oleh atasan. Silakan periksa anotasi dan upload revisi jika diperlukan.
@endif
@if($surat->file_current || $surat->file_annotated || $surat->file_numbered) {{-- Pages are rendered dynamically by JS (one canvas per page for scrollable view) --}} {{-- Loading --}}

Memuat PDF...

@else

Tidak ada file yang tersedia

@endif
{{-- Page info bar - shows total page count --}} @if($surat->file_current || $surat->file_annotated || $surat->file_numbered) @endif
{{-- End of pdf-preview-reorderable wrapper --}}
{{-- Text Input Modal for Annotation --}} @push('scripts') @endpush