@extends('layouts.admin') @section('title', 'Chunk Review — ' . Str::limit($document->title, 40)) @section('breadcrumb') @endsection @section('content') {{-- Header --}}

Chunk Review

{{ $document->title }} — Versi {{ $version->version_number }} @if($version->page_count) · {{ $version->page_count }} muka surat @endif

Kembali ke Dokumen
{{-- Flash Messages --}} @if(session('success')) @endif @if(session('error')) @endif {{-- Status Summary Pills --}}
Semua {{ array_sum($statusCounts) }} @php $statusDef = [ \App\Models\DocumentChunk::STATUS_INDEXED => ['label' => 'Diindex', 'class' => 'btn-success'], \App\Models\DocumentChunk::STATUS_NEEDS_REINDEX => ['label' => 'Perlu Reindex', 'class' => 'btn-warning'], \App\Models\DocumentChunk::STATUS_NEEDS_REVIEW => ['label' => 'Perlu Semak', 'class' => 'btn-info'], \App\Models\DocumentChunk::STATUS_PENDING => ['label' => 'Menunggu', 'class' => 'btn-light border'], \App\Models\DocumentChunk::STATUS_EXCLUDED => ['label' => 'Dikecualikan', 'class' => 'btn-secondary'], \App\Models\DocumentChunk::STATUS_SUPERSEDED => ['label' => 'Digantikan', 'class' => 'btn-dark'], \App\Models\DocumentChunk::STATUS_FAILED_EMBEDDING => ['label' => 'Gagal Embed', 'class' => 'btn-danger'], ]; @endphp @foreach($statusDef as $statusKey => $def) @if(isset($statusCounts[$statusKey]) && $statusCounts[$statusKey] > 0) {{ $def['label'] }} {{ $statusCounts[$statusKey] }} @endif @endforeach
{{-- Chunk List --}} @forelse($chunks as $chunk)
{{-- Metadata --}}
{{-- Status badge --}} {{ $chunk->getStatusLabel() }} {{-- Chunk number --}} #{{ $chunk->chunk_index + 1 }} {{-- Edited badge --}} @if($chunk->is_edited) Edited @endif {{-- Split badge --}} @if($chunk->parent_chunk_id) Split @endif @if($chunk->childChunks->count() > 0) {{ $chunk->childChunks->count() }} anak @endif {{-- Metadata kecil --}} @if($chunk->page_number) ms.{{ $chunk->page_number }} @endif @if($chunk->section_heading) {{ Str::limit($chunk->section_heading, 40) }} @endif
{{-- Preview teks --}}

{{ Str::limit($chunk->getEmbeddableText(), 150) }}

{{-- Editor info --}} @if($chunk->is_edited && $chunk->editor)

Diedit oleh {{ $chunk->editor->name }} {{ $chunk->edited_at?->diffForHumans() }}

@endif
{{-- Actions --}}
{{-- View detail --}} Detail @if(!$chunk->isSuperseded()) {{-- Split --}} {{-- Exclude / Include --}} @if($chunk->exclude_from_index)
@csrf
@else
@csrf
@endif {{-- Reindex --}} @if($chunk->isIndexable())
@csrf
@endif @else {{-- Superseded — tunjukkan link ke children --}} @if($chunk->childChunks->count() > 0) {{ $chunk->childChunks->count() }} chunk baharu @endif @endif
{{-- Child chunks inline (jika chunk ini pernah di-split) --}} @if($chunk->childChunks->count() > 0)

Dipecahkan kepada:

@foreach($chunk->childChunks as $child)
{{ $child->getStatusLabel() }} #{{ $child->chunk_index + 1 }} {{ Str::limit($child->getEmbeddableText(), 80) }} Lihat →
@endforeach
@endif
@empty
@if($statusFilter) Tiada chunk dengan status "{{ $statusFilter }}". Lihat semua @else Tiada chunk untuk versi ini. @endif
@endforelse {{-- Pagination --}} @if($chunks->hasPages())
{{ $chunks->links() }}
@endif @endsection