@extends('admin.layouts.app') @section('title', $project->title) @section('content') @php $total=$project->tasks->count(); $done=$project->tasks->where('completed',true)->count(); $pct=$total>0?round($done/$total*100):0; $badgeClass = match($project->status) { 'completed'=>'badge-active', 'cancelled'=>'badge-cancelled', 'in_progress'=>'badge-open', default=>'badge-pending' }; @endphp
{{ ucfirst(str_replace('_',' ',$project->status)) }}
{{ __('admin.projects.status') }}
{{ $done }}/{{ $total }}
{{ __('admin.projects.tasks_done') }}
{{ $pct }}% Progress
{{ $project->due_date ? \Carbon\Carbon::parse($project->due_date)->format('d M Y') : '—' }}
{{ __('admin.projects.due_date_label') }}
{{ __('admin.projects.tasks') }}
@forelse($project->tasks->sortBy('sort_order') as $task)
@csrf @method('PUT')

{{ $task->task }}

@if($task->notes)

{{ $task->notes }}

@endif @if($task->due_date)

Due: {{ \Carbon\Carbon::parse($task->due_date)->format('d M Y') }}

@endif
@csrf @method('DELETE')
@empty
{{ __('admin.projects.no_tasks') }}
@endforelse
@csrf
{{ __('admin.projects.timeline_messages') }}
@forelse($project->messages->sortByDesc('created_at') as $msg)
{{ strtoupper(substr($msg->admin??'A',0,1)) }}
{{ $msg->admin ?? 'Admin' }} {{ $msg->created_at->diffForHumans() }}

{{ $msg->message }}

@empty

{{ __('admin.projects.no_messages') }}

@endforelse
@csrf
{{ __('admin.projects.project_info') }}
@if($project->start_date)@endif @if($project->due_date)@endif
{{ __('admin.projects.client') }}{{ $project->client?->full_name ?? 'N/A' }}
{{ __('admin.projects.start') }}{{ \Carbon\Carbon::parse($project->start_date)->format('d M Y') }}
{{ __('admin.projects.due') }}{{ \Carbon\Carbon::parse($project->due_date)->format('d M Y') }}
{{ __('admin.projects.messages') }}{{ $project->messages->count() }}
@if($project->description)

{{ __('admin.projects.description') }}

{{ $project->description }}

@endif
{{ __('admin.projects.actions') }}
{{ __('admin.projects.edit_project') }}
@csrf @method('DELETE')
@endsection