{{-- GMAIL-STYLE CONTAINER --}}
{{-- TOOLBAR --}}
{{-- Select All --}} @if ($messages->count() > 0) @endif {{-- Refresh (aynı zamanda 5 dakikada bir otomatik yeniler) --}} @if ($account && !$account->revoked_at) @endif {{-- Arşivle --}} @if ($messages->count() > 0) @endif {{-- Sil --}} @if ($messages->count() > 0) @endif {{-- Okundu işaretle --}} @if ($messages->count() > 0) @endif {{-- Okunmadı işaretle --}} @if ($messages->count() > 0) @endif {{-- Göreve bağla (toolbar) --}} @if ($messages->count() > 0) @endif {{-- Firma ile ilişkilendir (toolbar) --}} @if ($messages->count() > 0) @endif {{-- Three-dot menu: sıralama seçenekleri --}}
{{-- Seçim durumu / uyarı --}}
{{-- GÖREVE BAĞLAMA PANELİ (toolbar altı) --}} @if ($messages->count() > 0)
Görev seç
Sonuç bulunamadı.
@endif {{-- FİRMAYA BAĞLAMA PANELİ (toolbar altı) --}} @if ($messages->count() > 0)
Firma seç
Sonuç bulunamadı.
@endif {{-- DENETİM UYARISI: Yenileme veya otomatik senkron (wire:poll → autoRefresh) sürerken gösterilir. Senkron tek bir request içinde başlayıp bittiği için $syncing asla true olarak render edilemez; gösterim client-side'dadır. Not: Livewire'ın gizleme CSS'i yalnızca tekil direktif adlarını kapsar ('wire:loading.block' güvenli, 'wire:loading.block.delay' değil); 'block' modifier'ı hem başlangıçta gizler hem de gösterimde satır genişliğini korur. --}}
progress_activity E-postalar denetleniyor, lütfen bekleyin...
{{-- STATUS MESSAGES: denetim sırasında önceki durum mesajı gizlenir --}} @if ($status)
{{ $status }}
@endif {{-- CONTENT AREA --}}
{{-- NO ACCOUNT --}} @if (!$account)
Gmail hesabını bağlayarak e-postaları göreve dönüştürebilirsin. Google ile bağlan
@elseif ($account->revoked_at)
Gmail bağlantısı geçersiz kılınmış. Yeniden bağlanmadıkça yeni e-posta gelmez. Yeniden bağlan
@endif {{-- EMPTY --}} @if ($account && $messages->isEmpty())
Görünecek e-posta yok. Yeni mesajlar için yenile.
@endif {{-- EMAIL LIST --}} @if ($messages->count() > 0)
@foreach ($messages as $message)
{{-- ROW LAYOUT --}}
{{-- Checkbox: satır draggable olduğu için kontrol draggable="false" ile drag kaynağından çıkarılır; aksi halde tarayıcı tıklamayı drag'e çevirir ve seçim hiç çalışmaz. --}}
{{-- Star --}} {{-- Content --}}
{{-- Sender + Date row --}}
{{ $message->from_name ?: $message->from_email ?: 'Gmail' }} @if ($message->received_at) {{ $message->received_at->isToday() ? $message->received_at->format('H:i') : $message->received_at->format('d M') }} @endif
{{-- Subject --}}
{{ $message->subject ?: '(konu yok)' }}
{{-- Snippet --}} @if ($message->snippet)
{{ $message->snippet }}
@endif {{-- Matched tags --}} @if ($message->matched_emailable_type || $message->matched_company_id || $message->created_task_id)
@php $matched = $message->matchedEmailable; @endphp @if ($matched instanceof \App\Models\Person) person {{ $matched->name }} {{ $matched->surname }} @endif @if ($message->matchedCompany) business {{ $message->matchedCompany->shortname ?: $message->matchedCompany->name }} @endif @if ($message->createdTask) task_alt Görev oluşturuldu @endif
@endif
@endforeach
@endif {{-- SYNC ERROR --}} @if ($account?->last_sync_error)
Son senkronda hata: {{ $account->last_sync_error }}
@endif {{-- DISCONNECT --}} @if ($account)
@csrf @method('DELETE')
@endif
{{-- DETAIL PANE (sağdaki okuma bölmesi; her zaman açık, liste kart oranı 2:3) --}}
{{-- YÜKLENİYOR: e-posta gövdesi Gmail API'den çekilirken sağ bölmede gösterilir. Not: Livewire'ın gizleme CSS'i yalnızca 'wire:loading' / 'wire:loading.delay' gibi tekil direktif adlarını kapsar ('wire:loading.flex.delay' değil); bu yüzden esnek yerleşim iç div'de, gösterim/gizleme dış div'in kendi direktifiyle yönetilir. --}}
progress_activity Yükleniyor...
@if ($selectedMessage) {{-- ÜST BLOK: konu, gönderen, etiketler, işlemler --}}
{{ $selectedMessage->subject ?: '(konu yok)' }}
{{-- X: seçimi sıfırlar ve tüm gelen kutusu panelini kapatır --}}
{{ mb_substr(trim($selectedMessage->from_name ?: $selectedMessage->from_email ?: '?'), 0, 1) }}
{{ $selectedMessage->from_name ?: $selectedMessage->from_email ?: 'Gmail' }}
{{ $selectedMessage->from_email }} @if ($selectedMessage->received_at) · {{ $selectedMessage->received_at->format('d M Y H:i') }} @endif
{{-- Etiketler --}} @if ( $selectedMessage->matched_emailable_type || $selectedMessage->matched_company_id || $selectedMessage->created_task_id || $selectedMessage->linked_task_id)
@php $matchedDetail = $selectedMessage->matchedEmailable; @endphp @if ($matchedDetail instanceof \App\Models\Person) person {{ $matchedDetail->name }} {{ $matchedDetail->surname }} @endif @if ($selectedMessage->matchedCompany) business {{ $selectedMessage->matchedCompany->shortname ?: $selectedMessage->matchedCompany->name }} @endif @if ($selectedMessage->createdTask) task_alt Görev oluşturuldu @endif @if ($selectedMessage->linkedTask) link Göreve bağlı @endif
@endif {{-- Hızlı işlemler --}}
{{-- AI hızlı işlemleri --}}
@if ($aiError)
{{ $aiError }}
@elseif ($aiAnalyzing)
progress_activity E-posta yorumlanıyor...
@elseif (!$aiAnalysis) @else
AI önerisi
@if ($aiAnalysis['reason'])
{{ $aiAnalysis['reason'] }}
@endif
{{ number_format($aiAnalysis['confidence'] * 100, 0) }}% güven
@if ($aiAnalysis['company']['name'] || $companyCandidates || $selectedCompanyId) @endif @if (in_array($aiAnalysis['intent'], ['invoice', 'receipt'], true)) @endif
@if ($companyCandidates)
Benzer firmalar
@foreach ($companyCandidates as $candidate) @endforeach
@elseif ($selectedCompanyId)
Mevcut firma eşleşmesi seçildi.
@endif @if ($showCompanyForm)
@error('companyName') {{ $message }} @enderror
@endif @if ($showInvoiceForm) @if (!$selectedCompanyId)
Fiş/fatura oluşturmak için önce eşleşen bir firmayı seçin veya yeni firma oluşturun.
@else
@error('selectedCompanyId')
{{ $message }}
@enderror @error('invoiceTotalAmount')
{{ $message }}
@enderror @endif @endif @endif
{{-- GÖVDE --}} @if ($selectedBodyHtml !== null) {{-- HTML gövde sandbox'lı iframe içinde gösterilir; e-posta script'leri çalışmaz. --}} @elseif ($selectedBodyText !== null)
{{ $selectedBodyText }}
@else
{{ $selectedMessage->snippet ?: 'İçerik gösterilemiyor.' }}
@endif @else {{-- BOŞ DURUM: henüz mesaj seçilmedi --}}
mail

Okumak için listeden bir e-posta seçin.

@endif
@script @endscript