@extends('layouts.app') @section('title', $project->title) @section('content') {{-- Header --}}

{{ $project->title }}

@if($project->description)

{{ $project->description }}

@endif
Dashboard @if($project->isOwnedBy(auth()->user()))
@csrf @method('DELETE')
@endif
{{-- Lajur Kiri: Audio + Transcript + Komen --}}
{{-- Status Badge --}} @php $statusConfig = [ 'pending' => ['secondary', 'bi-hourglass', 'Menunggu dalam barisan...'], 'processing' => ['warning', 'bi-gear-wide-connected', 'Sedang ditranskripkan...'], 'completed' => ['success', 'bi-check-circle', 'Transkripsi selesai'], 'failed' => ['danger', 'bi-x-circle', 'Transkripsi gagal'], ]; [$sc, $si, $sl] = $statusConfig[$project->transcription_status] ?? ['secondary', 'bi-question', 'Tidak diketahui']; @endphp
{{ $sl }} @if($project->isFailed() && $project->isOwnedBy(auth()->user()))
@csrf
@endif @if($project->isProcessing() || $project->isPending()) @endif
{{-- Audio Player --}}
Audio Asal {{ $project->original_filename }}
{{ $project->fileSizeForHumans() }} @if($project->durationForHumans())  • {{ $project->durationForHumans() }} @endif  • {{ $project->created_at->format('d/m/Y H:i') }}
{{-- Transcript Card --}}
Teks Transkripsi
@if($project->transcriptVersions->count() > 0) Sejarah Versi {{ $project->transcriptVersions->count() }} @endif @can('editTranscript', $project) @if($project->isCompleted() && $project->transcript_text) @endif @endcan
{{-- Read mode --}}
@if($project->isCompleted() && $project->transcript_text)
{{ $project->transcript_text }}
@if($project->transcript_confidence)
Keyakinan: {{ number_format($project->transcript_confidence * 100, 1) }}%  • Enjin: {{ $project->transcription_engine ?? '—' }}
@endif @elseif($project->isFailed())
{{ $project->error_message ?? 'Ralat tidak diketahui.' }}
@else

Teks transkripsi akan dipaparkan di sini setelah pemprosesan selesai.

@endif
{{-- Edit mode (hidden by default) --}} @can('editTranscript', $project) @endcan
{{-- Card footer: Upload transkripsi luar --}} @can('editTranscript', $project) @endcan
{{-- Komen --}} @can('view', [App\Models\ProjectComment::class, $project])
Perbincangan @if($project->comments->count()) {{ $project->comments->count() }} @endif
{{-- Senarai komen --}} @forelse($project->comments as $comment)
{{ mb_strtoupper(mb_substr($comment->user->name, 0, 1)) }}
{{ $comment->user->name }}
{{ $comment->created_at->format('d/m/Y H:i') }} @can('delete', $comment)
@csrf @method('DELETE')
@endcan
{{ $comment->message }}
@empty

Tiada perbincangan lagi.

@endforelse {{-- Form tambah komen --}} @can('create', [App\Models\ProjectComment::class, $project])
@csrf
@error('message')
{{ $message }}
@enderror
@endcan
@endcan
{{-- Lajur Kanan: Maklumat + Collaborators --}}
{{-- Project Info --}}
Maklumat Projek
@if($project->processed_at) @endif
Pemilik {{ $project->owner->name }}
Bahasa {{ strtoupper($project->language) }}
Enjin {{ $project->transcription_engine ?? '—' }}
Selesai pada {{ $project->processed_at->format('d/m/Y H:i') }}
{{-- Collaborators --}}
Collaborators
@forelse($project->collaborators as $collab)
{{ $collab->name }} {{ $collab->pivot->role }}
{{ $collab->email }}
@if($project->isOwnedBy(auth()->user()))
@csrf @method('DELETE')
@endif
@empty

Tiada collaborator.

@endforelse @if($project->isOwnedBy(auth()->user()))
@csrf
@error('email')
{{ $message }}
@enderror
@endif
{{-- Modal: Upload Transkripsi Luar --}} @can('editTranscript', $project) @endcan @endsection @push('styles') @endpush @push('scripts') {{-- AJAX status polling --}} @if($project->isPending() || $project->isProcessing()) @endif {{-- Upload transcript modal: confirm if already has transcript --}} {{-- Transcript editor toggle --}} @endpush