{{-- Folder buttons only light up when no channel filter is active.
"Inbox + WhatsApp" can't both be active at once — the
channel filter takes priority, so the folder pill dims
until the user clears the channel back to `all`. --}}
@foreach([['email','Email','mail'],['whatsapp','WhatsApp','message-circle'],['sms','SMS','phone'],['telegram','Telegram','send'],['slack','Slack','hash']] as [$ck,$cl,$ci])
@endforeach
{{-- Live Chat is visitor-initiated (widget on the website), not a
typical messaging channel like the ones above — keep it in its
own group with a divider so agents can tell the two kinds apart. --}}
{{-- Pencil/Compose icon removed — already covered by
the big "Compose" button in the left sidebar.
The hamburger "Select all" icon is now a proper
checkbox that visibly ticks/unticks. Clicking it
toggles selection on every conversation in the
visible list (same behaviour as before). --}}
{{-- Search overlay --}}
{{-- Bulk actions bar --}}
|
{{-- Bulk delete.
• Outside Trash → soft-delete (move to Bin).
• Inside Trash → force-delete (permanent purge), since
calling 'delete' on already-trashed rows would just
re-set deleted_at and the user wouldn't see them
disappear. --}}
{{-- Conversation cards --}}
=$el.scrollHeight-100)loadMore()">
No conversations yet
Conversations will appear here when you receive messages.
{{-- No border, no dot. Priority is shown inline as a
coloured text badge ("Urgent", "High", "Low") next
to the message count in the meta row below — only
for non-normal priorities. --}}
{{-- Top-right cluster: star, priority badge (non-normal
only), and channel icon — all live in the same
corner so the meta row below stays clean. --}}
{{-- Header / contact name. Bold + bright white
for unread; normal weight + muted for
read so the row visually fades to match
the inbox background once the user has
opened it. --}}
{{-- Pane 3: Detail --}}
{{-- Compose --}}
New Message
{{-- Quick Replies (inline panel — same container pattern as Compose) --}}
Quick Replies
{{-- Detail --}}
{{-- Empty state --}}
Select a conversation
Choose a conversation from the list to view its messages.
{{-- Mail opening animation --}}
{{-- Conversation --}}
{{-- Header --}}
{{-- Actions dropdown --}}
@foreach([['1h','1 hour'],['3h','3 hours'],['tomorrow','Tomorrow 9 AM'],['next_week','Next Monday']] as [$dur,$lbl])
@endforeach
{{-- Messages --}}
{{-- Tags inline --}}
{{-- Date divider --}}
{{-- Internal Note (team-only, yellow) --}}
Internal Note
(Only visible to your team — not sent to the customer)
{{-- Message bubble --}}
From: To:
{{-- Outbound delivery status badge. Keep it small + single-line. --}}
{{-- Scheduled & not yet sent --}}
{{-- Cancelled (undo-send clicked) --}}
Cancelled
{{-- Failed --}}
Failed
{{-- Sent successfully --}}
Sent
{{-- Load more messages --}}
{{-- Reply toggle --}}
{{-- Right Panel --}}
{{-- Tags --}}
Tags
{{-- Assignment --}}
Assignment
{{-- Priority --}}
Priority
@foreach([['low','Low','bg-gray-400'],['normal','Normal','bg-blue-400'],['high','High','bg-yellow-400'],['urgent','Urgent','bg-red-400']] as [$pv,$pl,$pd])
@endforeach
{{-- Contact --}}
Contact
Phone
Company
{{-- Stripe customer profile — shown only when the workspace
has an active Stripe integration AND the contact email
matches a Stripe customer. Read-only support context:
customer id, total spent, subscriptions, recent payments,
delinquent warning. --}}
Stripe
Active
ID
Spent
Payment delinquent
Subscriptions
Recent Payments
RefundedPaid
{{-- HubSpot contact profile — shown when HubSpot is active and
the contact's email matches a HubSpot record. Shows
lifecycle stage, associated deals, and a deep-link to
the HubSpot contact page. --}}
{{-- Salesforce contact profile — shown when Salesforce is
active and the email matches a Salesforce Contact. Shows
account, open opportunities, and a deep-link to the
Salesforce record. --}}