@extends('layouts.app') @section('title', 'Dashboard') @section('content')
{{ $todayDate }}
Revenue This Month
{{ $defaultCurrency->symbol() }} {{ number_format((float) $revenueThisMonth, 2) }}
@if($revenueBreakdown->isNotEmpty()){{ $row->currency }} {{ number_format((float) $row->total, 2) }}
@endforeachPipeline Value
{{ $defaultCurrency->symbol() }} {{ number_format((float) $pipelineTotal, 2) }}
Active proposals value
Win Rate
{{ $winRate }}%
{{ $approvedProposals }} / {{ $totalProposals }} proposals
Team Size
{{ $teamSize }}
{{ $teamSize }} active @if(isset($pendingInvitations) && $pendingInvitations > 0) · {{ $pendingInvitations }} pending @endif
{{ $projectsOnTrack }}
On Track
{{ $overdueCount }}
Overdue Invoices
{{ $projectsAtRisk }}
Projects Overdue
{{ $p->title }}
{{ $p->client?->name }}
No proposals expiring soon.
@endforelse{{ $inv->invoice_number }}
{{ $inv->client?->name }}
No invoices due soon.
@endforelseTotal Collected
{{ $defaultCurrency->symbol() }} {{ number_format((float) $allTimeRevenue, 2) }}
@if($revenueBreakdown->isNotEmpty()){{ $row->currency }} {{ number_format((float) $row->total, 2) }}
@endforeachOutstanding
{{ $unpaidCount }}
Unpaid / partial invoices
Overdue
{{ $overdueCount }}
Past due date
Forecast
@forelse($forecast ?? [] as $row){{ $row->currency }} {{ number_format((float) $row->total, 2) }}
@empty—
@endforelse0–30 Days
{{ $aged30 }}
invoices overdue
31–60 Days
{{ $aged60 }}
invoices overdue
60+ Days
{{ $aged90plus }}
invoices overdue
| Month | Currency | Amount |
|---|---|---|
| {{ \Carbon\Carbon::create($row->year, $row->month)->format('M Y') }} | {{ $row->currency }} | {{ number_format((float) $row->total, 2) }} |
| No payment data. | ||
{{ $client->name }}
{{ number_format((float) $client->outstanding, 2) }}No outstanding balances.
@endforelseTotal Proposals
{{ $totalProposals }}
Win Rate
{{ $winRate }}%
Pipeline Value
@forelse($pipelineValue ?? [] as $row){{ $row->currency }} {{ number_format((float) $row->total, 2) }}
@empty—
@endforelseNew Clients (30d)
{{ $newClients }}
{{ max(0, $draftCount) }}
Draft
{{ $sentProposals }}
Sent
{{ $approvedProposals }}
Approved
{{ $rejectedProposals }}
Rejected
{{ $p->title }}
{{ $p->client?->name }}
None expiring soon.
@endforelse{{ $p->title }}
{{ $p->client?->name }}
No proposals yet.
@endforelse{{ $onTrack }}
On Track
{{ $atRisk }}
At Risk (<7 days)
{{ $overdueProjects }}
Overdue
Active Projects
{{ $activeProjects }}
On Hold
{{ $onHoldProjects }}
Pending Proposals
{{ $pendingProposals }}
Overdue Invoices
{{ $overdueInvoices }}
| Project | Client | Due Date | Days Left |
|---|---|---|---|
| {{ $proj->title }} | {{ $proj->client?->name }} | {{ $proj->end_date?->format('d M Y') }} | {{ $days < 0 ? abs((int)$days).' overdue' : (int)$days.'d' }} |
| No upcoming deadlines. | |||
Active Projects
{{ $activeProjects }}
On Track
{{ $onTrack }}
At Risk
{{ $atRisk }}
Unassigned
{{ $unassigned }}
{{ $proj->title }}
{{ $proj->client?->name }} · {{ $proj->assignedUsers->count() }} member(s)
No upcoming deadlines.
@endforelseNo staff members found.
@endforelse| Project | Client | Team | Deadline |
|---|---|---|---|
| {{ $proj->title }} | {{ $proj->client?->name }} | {{ $proj->assigned_users_count }} member(s) | {{ $proj->end_date?->format('d M Y') ?? '—' }} |
| No active projects. | |||
Total Clients
{{ $totalClients }}
Active Proposals
{{ $activeProposalCount }}
Approved This Month
{{ $approvedThisMonth }}
Expiring Soon
{{ $expiringSoonCount }}
| Client | Active Proposals | Overdue Invoices | Status |
|---|---|---|---|
| {{ $client->name }} | {{ $client->active_proposals }} | {{ $client->overdue_invoices }} | @if($client->overdue_invoices > 0) At Risk @elseif($client->active_proposals > 0) Active @else Healthy @endif |
| No clients found. | |||
{{ $p->title }}
{{ $p->client?->name }} · expires {{ $p->valid_until?->format('d M Y') }}
Total Team
{{ $totalTeam }}
Pending Invites
{{ $pendingInvitations }}
Expired Invites
{{ $expiredInvitations }}
New Joins (30d)
{{ $recentJoins }}
| Name | Role | Joined |
|---|---|---|
| {{ $member->name }} | {{ $member->roles->first()?->name ?? '—' }} | {{ $member->created_at->format('d M Y') }} |
| No team members. | ||
My Active Projects
{{ $myProjectsCount }}
My Proposals
{{ $myProposalsCount }}
You haven't been assigned to any projects yet.
{{ $proj->client?->name }}
@if($proj->end_date) @php $daysLeft = now()->diffInDays($proj->end_date, false); @endphp{{ $p->title }}
{{ ucfirst($p->status->value) }}No dashboard is configured for your account role.
Please contact your administrator to have a role assigned.