{{ $client->name }}

@if($client->clientType) {{ $client->clientType->name }} @endif

Client CRM Profile & Activity Log

@if($bands->count() > 1)
@endif + Book New Gig Edit Client
@if(session('success'))
{{ session('success') }}
@endif
Total Spend
£{{ number_format($totalRevenue, 2) }}
Avg Fee: £{{ number_format($averageFee, 2) }}
Upcoming Gigs
{{ $upcomingCount }}
Scheduled
Completed Gigs
{{ $completedCount }}
Past events
Pending Tasks
{{ $tasks->whereNull('completed_at')->count() }}
@if($tasks->filter(fn($t) => $t->isOverdue())->count() > 0) {{ $tasks->filter(fn($t) => $t->isOverdue())->count() }} overdue! @else Follow-ups & Alerts @endif

Contact & Details

Contact Person {{ $client->contact_name ?? 'Not specified' }}
Email @if($client->contact_email) {{ $client->contact_email }} @else N/A @endif
Phone @if($client->contact_phone) {{ $client->contact_phone }} @else N/A @endif
Address

{{ $client->address_line1 }}
@if($client->address_line2) {{ $client->address_line2 }}
@endif {{ $client->town_city }}@if($client->county), {{ $client->county }}@endif
@if($client->postcode) {{ $client->postcode }}
@endif {{ $client->country }}

@if(isset($client->client_type_id) && $client->client_type_id == 1)

Venue Location

@php $addressParts = array_filter([ $client->address_line1, $client->address_line2, $client->town_city, $client->county, $client->postcode, $client->country ]); $fullAddress = implode(', ', $addressParts); $encodedAddress = urlencode($fullAddress); @endphp
@endif
@csrf
@if($bands->count() > 1)
@elseif($bands->count() === 1) @endif @if($gigs->count() > 0)
@endif
@forelse($notes as $note)
@if($note->is_pinned) 📌 PINNED @endif {{ $note->user->name ?? 'Team Member' }} {{ $note->created_at->diffForHumans() }} • @if($note->band) 🎸 {{ $note->band->name }} @endif @if($note->gig) 📅 {{ $note->gig->title }} @endif
@csrf @method('PATCH')
@csrf @method('DELETE')

{{ $note->content }}

@csrf @method('PUT')
@if($bands->count() > 1)
@elseif($bands->count() === 1) @endif @if($gigs->count() > 0)
@endif
@empty
No notes recorded for this client yet. Use the form above to add one!
@endforelse
@csrf
Set New Task / Reminder
@if($bands->count() > 1)
@elseif($bands->count() === 1) @endif
Pending Tasks & Alerts
@forelse($tasks->whereNull('completed_at') as $task) @php $isOverdue = $task->isOverdue(); $isToday = $task->isDueToday(); @endphp
@csrf @method('PATCH')
{{ $task->title }}
@if($task->due_date) @php $hasTime = $task->due_date->format('H:i') !== '00:00'; $formattedDate = $hasTime ? $task->due_date->format('d M Y \a\t H:i') : $task->due_date->format('d M Y'); @endphp @if($isOverdue) ⚠️ Overdue (Due: {{ $formattedDate }}) @elseif($isToday) ⏰ DUE TODAY {{ $hasTime ? 'at ' . $task->due_date->format('H:i') : '' }} @else Due: {{ $formattedDate }} @endif @else No due date set @endif @if($task->priority === 'high') HIGH @elseif($task->priority === 'medium') Medium @else Low @endif {{ match($task->task_type) { 'email' => '✉️ Email', 'marketing' => '📣 Marketing', 'payment' => '💰 Payment', 'follow_up' => '📞 Follow-up', default => '📋 Other' } }} @if($task->band) 🎸 {{ $task->band->name }} @endif
@csrf @method('DELETE')
@empty
No pending tasks for this client.
@endforelse @if($tasks->whereNotNull('completed_at')->count() > 0)
Completed Tasks
@foreach($tasks->whereNotNull('completed_at') as $task)
@csrf @method('PATCH')
{{ $task->title }} ✓ Done {{ $task->completed_at ? $task->completed_at->diffForHumans() : '' }}
@csrf @method('DELETE')
@endforeach
@endif
@if($gigs->count() > 0)
@foreach($gigs as $gig)
{{ $gig->title }} 🎸 {{ $gig->band->name }}
📅 {{ $gig->start_time ? $gig->start_time->format('d M Y, H:i') : 'Date TBD' }} 💰 £{{ number_format($gig->fee, 2) }} @if($gig->deposit) 💳 Deposit: £{{ number_format($gig->deposit, 2) }} @endif
@php $isPast = $gig->start_time ? $gig->start_time->isPast() : false; $showCompleted = $isPast && $gig->status !== 'cancelled'; $statusLabel = $showCompleted ? 'Completed' : ucfirst($gig->status); $statusClass = match (true) { $gig->status === 'cancelled' => 'bg-red-100 text-red-800', $showCompleted || $gig->status === 'completed' => 'bg-emerald-100 text-emerald-800', default => 'bg-blue-100 text-blue-800', }; @endphp {{ $statusLabel }} View Gig →
@endforeach
@else

No gigs found for this client matching current filter.

+ Book the first gig now
@endif