Contacts / {{ $contact->name }}
@if (($duplicateCount ?? 0) > 0)
{{ $duplicateCount }} potential {{ \Illuminate\Support\Str::plural('duplicate', $duplicateCount) }} — matching email or phone.
Review & merge
@endif {{-- Header --}}
Contacts / {{ $contact->name }}
@if ($contact->phone)
@csrf Call
SMS @endif Edit
@csrf @method('DELETE') Delete contact
{{-- Left rail --}}

{{ $contact->name }}

@if ($contact->job_title || $contact->company)

{{ collect([$contact->job_title, $contact->company])->filter()->join(' · ') }}

@endif
@if ($contact->lifecycle_stage) {{ ucfirst($contact->lifecycle_stage) }} @endif @if ($contact->group) {{ $contact->group->name }} @endif
@if ($contact->email) @endif @if ($contact->phone)
Phone
{{ $contact->phone }}
@endif @if ($contact->website) @endif @if ($contact->address)
Address
{{ $contact->address }}
@endif @if ($contact->birthday)
Birthday
{{ $contact->birthday->format('M j, Y') }}
@endif
Last contacted
{{ $contact->last_contacted_at?->diffForHumans() ?? '—' }}
@if ($contact->owner)
Owner
{{ $contact->owner->name }}
@endif
@if ($contact->tags->isNotEmpty())
Tags
@foreach ($contact->tags as $tag) {{ $tag->name }} @endforeach
@endif
{{-- Right column with tabs --}}
Activity Notes Custom fields @php $combined = $activity->concat($emails)->sortByDesc(fn ($i) => $i->sent_at ?? $i->created_at); @endphp @if ($combined->isEmpty())

No activity yet. Send a message or log a call to see updates here.

@else
    @foreach ($combined as $item) @php $isMessage = $item instanceof \App\Models\Message; $type = $isMessage ? $item->channel : 'email'; $verb = match (true) { $type === 'sms' && $item->direction === 'outbound' => 'Sent SMS', $type === 'sms' && $item->direction === 'inbound' => 'Received SMS', $type === 'voice' => 'Called', default => 'Emailed', }; $preview = $isMessage ? $item->body : $item->subject; $when = $item->sent_at ?? $item->created_at; @endphp
  • @if ($type === 'sms') SMS @elseif ($type === 'voice') ☎ @else ✉ @endif

    {{ $verb }}

    {{ $when?->diffForHumans() }}
    @if ($preview)

    {{ $preview }}

    @endif
  • @endforeach
@endif
@if ($contact->notes)

{{ $contact->notes }}

@else

No notes yet.

@endif
@if (!empty($contact->custom_fields))
@foreach ($contact->custom_fields as $key => $value)
{{ $key }}
{{ is_scalar($value) ? $value : json_encode($value) }}
@endforeach
@else

No custom fields set.

@endif