@extends('layouts.panel') @section('content') @php $statusLabels = [ 'todo' => 'Todo', 'doing' => 'Doing', 'blocked' => 'Blocked', 'done' => 'Done', ]; $statusCounts = []; foreach ($statusLabels as $k => $v) { $statusCounts[$k] = (int)($tasksByStatus[$k] ?? 0); } @endphp

Raporlar

Veritabanındaki gerçek verilerden özet.

Projeler
{{ $projectsCount }}
Görevler
{{ $tasksCount }}
Açık (todo/doing/blocked)
{{ $statusCounts['todo'] + $statusCounts['doing'] + $statusCounts['blocked'] }}
Tamamlanan
{{ $statusCounts['done'] }}

Durum Dağılımı

@foreach($statusLabels as $k => $label) @php $count = $statusCounts[$k] ?? 0; $pct = $tasksCount > 0 ? round(($count / $tasksCount) * 100) : 0; @endphp
{{ $label }} {{ $count }} ({{ $pct }}%)
@endforeach

Yaklaşan Görevler

@if($upcomingTasks->isEmpty())
Yaklaşan görev yok.
@else
@foreach($upcomingTasks as $t) @endforeach
Görev Durum Tarih
{{ $t->title }}
@if(!empty($t->project?->name))
{{ $t->project->name }}
@endif
{{ $statusLabels[$t->status] ?? $t->status }} {{ \Carbon\Carbon::parse($t->due_date)->format('d.m.Y') }} Detay
@endif

Geciken Görevler

@if($overdueTasks->isEmpty())
Geciken görev yok.
@else
@foreach($overdueTasks as $t) @endforeach
Görev Durum Son Tarih
{{ $t->title }}
@if(!empty($t->project?->name))
{{ $t->project->name }}
@endif
{{ $statusLabels[$t->status] ?? $t->status }} {{ \Carbon\Carbon::parse($t->due_date)->format('d.m.Y') }} Detay
@endif

Son Projeler

@if($recentProjects->isEmpty())
Henüz proje yok.
@else
@foreach($recentProjects as $p)
{{ $p->name }}
{{ optional($p->created_at)->format('d.m.Y') }}
@endforeach
@endif
@endsection