@if (session('status') || $errors->any()) @push('scripts') @endpush @endif
{{ __('Workspace - Bloomly') }}

{{ __('Your') }} {{ __('contacts') }}

{{ __('Manage people, groups, imports, and contact details from one operational view.') }}

{{ __('Total contacts') }}
{{ number_format($stats['total_contacts']) }}
{{ __('in your workspace') }}
{{ __('Groups') }}
{{ number_format($stats['total_groups']) }}
{{ __('segments configured') }}
{{ __('Subscribed') }}
{{ number_format($stats['subscribed']) }}
{{ __('opted in') }}
{{ __('Unsubscribed') }}
{{ number_format($stats['unsubscribed']) }}
{{ __('opted out') }}
@forelse ($contacts as $contact) @php $contactGroupIds = is_array($contact->contact_group) ? $contact->contact_group : []; $contactGroupModels = $groups->whereIn( 'id', array_map('intval', $contactGroupIds), ); $groupSlugs = $contactGroupModels ->pluck('id') ->map(fn($i) => 'g' . $i) ->implode(' '); $groupIdsCsv = implode(',', array_map('strval', $contactGroupIds)); $searchKey = strtolower( trim( ($contact->name ?? '') . ' ' . ($contact->email ?? '') . ' ' . ($contact->mobile ?? ''), ), ); $initials = \Illuminate\Support\Str::of($contact->name ?? '?') ->trim() ->limit(2, '') ->upper(); $avatarBg = ['#FFE9E4', '#E8F5E9', '#FFF6E0', '#F3E9FF', '#EEF4FF', '#FCE0D5'][ ($contact->id ?? 0) % 6 ]; @endphp @empty @endforelse
{{ __('Name') }} {{ __('Groups') }} {{ __('Email') }} {{ __('Mobile') }} {{ __('Memo') }} {{ __('Action') }}
{{ $initials }}
{{ $contact->name }}
{{ $contact->language ?? '' }}
@foreach ($contactGroupModels as $g) {{ $g->user_group }} @endforeach
{{ $contact->email }} {{ $contact->mobile }} {{ $contact->msg }}
@csrf @method('DELETE')
@include('user.partials.empty-state', [ 'message' => 'No contacts match the current filters. Try clearing filters or add your first contact.', 'resetHref' => url('/contacts'), 'actionButtonAttrs' => 'data-modal-open="contactModal"', 'actionLabel' => 'Add contact', ])
@include('user.partials.pagination', [ 'paginator' => $contacts, 'dataAttr' => 'data-contact-page', 'label' => 'contacts', ])
{{ __('Help - 01') }}
{{ __('What is a contact?') }}

{{ __('A person or customer record with phone, email, notes, language, and group membership used across messages.') }}

{{ __('Help - 02') }}
{{ __('How should I use groups?') }}

{{ __('Create groups for segments like VIPs, new signups, cart abandoners, or local audiences before sending campaigns.') }}

{{ __('Help - 03') }}
{{ __('How do I keep lists clean?') }}

{{ __('Remove invalid numbers, respect unsubscribes, and import only opted-in contacts with a clear source.') }}