@extends('admin.layout.main') @section('admin')

Dashboard

Welcome back, {{ auth()->user()->name }}

{{ auth()->user()->branch?->name ?? 'N/A' }}
{{ strtoupper(substr(auth()->user()->name, 0, 1)) }}

Projects

{{ $project->count() }}

@php $inProgressCount = $project->where('status', 'in_progress')->count(); $progress = $project->count() > 0 ? ($inProgressCount / $project->count()) * 100 : 0; @endphp
{{ $inProgressCount }}

In progress

Revenue

{{ number_format($servicesRequest->sum('total_price'), 0) }} SR

@php $monthlyRevenue = $servicesRequest ->where('created_at', '>=', now()->startOfMonth()) ->sum('total_price'); $totalRevenue = $servicesRequest->sum('total_price'); $revenueProgress = $totalRevenue > 0 ? ($monthlyRevenue / $totalRevenue) * 100 : 0; @endphp
{{ number_format($monthlyRevenue, 0) }} SR

This month

Requests

{{ $servicesRequest->count() }}

@php $pendingCount = $servicesRequest->where('status', 'pending')->count(); $pendingProgress = $servicesRequest->count() > 0 ? ($pendingCount / $servicesRequest->count()) * 100 : 0; @endphp
Pending {{ $pendingCount }}

Invoices

{{ $invoice->count() }}

@php $paidInvoices = $invoice->where('status', 'paid')->count(); $paidProgress = $invoice->count() > 0 ? ($paidInvoices / $invoice->count()) * 100 : 0; @endphp
Paid {{ number_format($paidProgress, 0) }}%

Recent Requests

View all
@forelse($servicesRequest->sortByDesc('created_at')->take(6) as $request) @php $contactInfo = $request->contact_info ?? []; $statusColors = [ 'pending' => 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30', 'in_progress' => 'bg-blue-100 text-blue-800 dark:bg-blue-900/30', 'approved' => 'bg-green-100 text-green-800 dark:bg-green-900/30', 'completed' => 'bg-green-100 text-green-800 dark:bg-green-900/30', 'cancelled' => 'bg-red-100 text-red-800 dark:bg-red-900/30', ]; @endphp

{{ $contactInfo['name'] ?? 'Unknown' }}

{{ $request->created_at->format('M j') }} • {{ number_format($request->total_price, 0) }} SR

{{ ucfirst(str_replace('_', ' ', $request->status)) }}
@empty

No requests found

@endforelse

Active Projects

View all
@forelse($project->where('status', 'Active')->sortByDesc('created_at')->take(4) as $projectItem)

{{ $projectItem->name }}

{{ number_format($projectItem->amount, 0) }} SR

{{ $projectItem->user->name ?? 'No client' }}

@empty

No active projects

@endforelse

Activity Summary

Service Requests Status

{{ $servicesRequest->count() }} total

@php $statusColors = [ 'pending' => 'bg-yellow-500', 'in_progress' => 'bg-blue-500', 'completed' => 'bg-green-500', 'cancelled' => 'bg-gray-400', ]; $statusCounts = $servicesRequest->groupBy('status')->map->count(); @endphp @foreach (['pending', 'in_progress', 'completed'] as $status) @if (isset($statusCounts[$status]))
{{ $status }} {{ $statusCounts[$status] }}
@endif @endforeach

Monthly Revenue

{{ number_format($monthlyRevenue, 0) }} SR

@for ($i = 0; $i < 12; $i++) @php $height = rand(20, 80); @endphp
{{ date('M', strtotime("-$i month")) }}
@endfor

Branch Overview

Blog Posts

{{ $blog->count() }}

{{ $blog->where('status', 'published')->count() }} published

Messages

{{ $contacts->count() }}

{{ $contacts->where('status', 'new')->count() }} unread

Transactions

{{ $transaction->count() }}

{{ number_format($transaction->sum('amount'), 0) }} SR total

Completion

@php $completedRequests = $servicesRequest->where('status', 'completed')->count(); $completionRate = $servicesRequest->count() > 0 ? ($completedRequests / $servicesRequest->count()) * 100 : 0; @endphp

{{ number_format($completionRate, 0) }}%

Request completion

Recent Invoices

View all
@forelse($invoice->sortByDesc('created_at')->take(5) as $payment)

#{{ $payment->invoice_number ?? $payment->id }}

{{ $payment->user->name ?? 'N/A' }}

{{ number_format($payment->amount, 0) }} SR

{{ ucfirst($payment->status) }}

@empty

No invoices found

@endforelse

Recent Messages

View all
@forelse($contacts->where('status', 'new')->sortByDesc('created_at')->take(3) as $contact)
{{ strtoupper(substr($contact->name, 0, 1)) }}

{{ $contact->name }}

{{ Str::limit($contact->message, 50) }}

@empty

No new messages

@endforelse
@endsection