{{ __('inbox.title') }}

{{ __('inbox.subtitle') }}

{{ __('inbox.fetch_now') }} {{ $archived ? __('inbox.show_open') : __('inbox.show_archived') }}
{{-- A mailbox nobody configured looks exactly like a mailbox with no mail in it. Said out loud, with what is missing. --}} @if (! $configured) {{ __('inbox.not_configured') }} {{ __('inbox.to_integrations') }} @endif @if ($mails->isEmpty())

{{ $archived ? __('inbox.empty_archived') : __('inbox.empty') }}

@else
@foreach ($mails as $mail)
$mail->isUnassigned(), 'border-line' => ! $mail->isUnassigned(), ])>
{{ $mail->subject ?: __('inbox.no_subject') }} @if ($mail->isUnassigned()) {{ __('inbox.unassigned') }} @endif {{-- R19: stored in UTC, read on the wall clock. --}} {{ $mail->received_at->local()->isoFormat('D. MMM YYYY, HH:mm') }}

{{ $mail->from_name ? $mail->from_name.' · ' : '' }}{{ $mail->from_email }}

{{-- Their own words. Escaped by Blade, printed as text: this came from a stranger and is never rendered as markup. --}}

{{ $mail->body }}

@if ($mail->hasAttachments()) {{-- Names and sizes. The files stay on the mail server — keeping whatever a stranger attaches would make this a malware store with a console in front of it. --}}

{{ __('inbox.attachments') }}

    @foreach ($mail->attachments as $file)
  • {{ $file['name'] }} {{ number_format(($file['bytes'] ?? 0) / 1024, 0, ',', '.') }} KB
  • @endforeach

{{ __('inbox.attachments_note') }}

@endif
@if ($mail->customer) {{-- Straight to the page with the answer box on it. --}} {{ __('inbox.answer', ['name' => $mail->customer->name]) }} @else {{-- One select, one value, no height change — R20's exception. The address decides automatically; this is for the customer writing from their private account, whom no matcher will ever recognise and an operator recognises at once. --}} @endif @if ($mail->archived_at) {{ __('inbox.unarchive') }} @else {{ __('inbox.archive') }} @endif
@endforeach
@endif