@extends('adminlte::page') @section('title', 'Dashboard') @section('content_header')
Active Cases
Clients
Tasks Due
Overdue Invoices
Upcoming Court Dates (30d)
Unread Communications
Overdue Tasks
Hours Logged (This Week)
New Clients (range)
New Cases (range)
Documents Added (range)
Communications (range)
| # | Client | Case | Total | Status |
|---|---|---|---|---|
| {{ $invoice->invoice_number }} | {{ Str::limit($invoice->client?->name ?? 'N/A', 40) }} | {{ Str::limit($invoice->case?->title, 60) }} | Rp {{ number_format((float)($invoice->total_amount ?? 0), 0, ',', '.') }} | {{ ucfirst($invoice->status) }} |
| No recent invoices | ||||
| Case # | Title | Client | Status |
|---|---|---|---|
| {{ $case->case_number }} | {{ Str::limit($case->title, 60) }} | {{ $case->client ? $case->client->name : 'N/A' }} | {{ $case->status }} |
| No recent cases found | |||
| Date | Court | Case | Status |
|---|---|---|---|
| {{ optional($cd->scheduled_date)->format('M d, H:i') }} | {{ Str::limit($cd->court_name, 40) }} | {{ Str::limit($cd->case?->title, 60) }} | {{ ucfirst($cd->status ?? 'scheduled') }} |
| No upcoming court dates | |||
| Title | Case | Assignee | Due |
|---|---|---|---|
| {{ Str::limit($t->title, 50) }} | {{ Str::limit($t->case?->title, 40) }} | {{ $t->assignee?->name ?? 'Unassigned' }} | @php $dueBadge = 'badge-due-future'; if ($t->due_date && $t->due_date->isPast()) $dueBadge = 'badge-due-overdue'; elseif ($t->due_date && $t->due_date->isBefore(now()->addDays(3))) $dueBadge = 'badge-due-soon'; @endphp {{ optional($t->due_date)->format('M d') ?? '-' }} |
| No recent tasks | |||
| Filename | Case | Uploaded By | Date |
|---|---|---|---|
| {{ Str::limit($doc->original_filename ?? $doc->filename, 60) }} | {{ Str::limit($doc->case?->title, 50) }} | {{ $doc->uploader?->name ?? '-' }} | {{ optional($doc->created_at)->format('M d') }} |
| No recent documents | |||
| Subject | Case | Type | Date |
|---|---|---|---|
| {{ Str::limit($c->subject ?? Str::limit(strip_tags($c->content), 50), 60) }} | {{ Str::limit($c->case?->title, 50) }} | @php $commClass = match($c->communication_type) { 'email' => 'badge-comm-email', 'call' => 'badge-comm-call', 'meeting' => 'badge-comm-meeting', 'message' => 'badge-comm-message', default => 'badge-comm-other' }; @endphp {{ ucfirst($c->communication_type) }} | {{ optional($c->communication_date)->format('M d, H:i') }} |
| No recent communications | |||