@extends('layouts.app', ['title' => 'Komunikasi', 'eyebrow' => 'Pesan internal sekolah']) @section('content')

Pesan Saya

@if(auth()->user()->hasRole('admin')) Admin dapat mengirim pesan ke guru, siswa, dan orang tua. @elseif(auth()->user()->hasRole('guru')) Guru hanya dapat mengirim pesan ke siswa kelas perwaliannya. @else Balas pesan dari guru atau admin langsung dari percakapan ini. @endif

{{ $messages->count() }} pesan
@if(auth()->user()->hasRole(['admin', 'guru']))
@csrf
@endif @if($errors->any())
{{ $errors->first() }}
@endif
@forelse($messages as $message) @php $viewer = auth()->user(); $isMine = $message->sender_id === auth()->id(); $partner = $isMine ? $message->receiver : $message->sender; $hideTechnicalIdentity = $viewer->hasRole(['siswa', 'orang_tua']); $partnerRole = optional($partner)->role ?? 'user'; $partnerLabel = match ($partnerRole) { 'admin' => 'Admin sekolah', 'guru' => 'Wali kelas / Guru', 'siswa' => 'Siswa', 'orang_tua' => 'Orang tua', default => 'Pengguna sekolah', }; $isAnnouncement = ($message->category ?? 'personal') === 'announcement'; $announcementRecipientCount = $message->announcement_recipient_count ?? null; @endphp

{{ $isAnnouncement ? 'Pengumuman sekolah' : ($isMine ? 'Terkirim ke' : 'Pesan dari') }}

@if($isAnnouncement && $isMine) Terkirim sebagai pengumuman @else {{ optional($partner)->name ?? 'User tidak ditemukan' }} @endif

@if($isAnnouncement && $isMine) Semua guru, siswa, dan orang tua{{ $announcementRecipientCount ? ' / '.$announcementRecipientCount.' penerima' : '' }} @elseif($hideTechnicalIdentity) {{ $partnerLabel }} @else {{ optional($partner)->email ?? '-' }} / {{ $partnerLabel }} @endif

{{ $message->created_at->format('d M Y H:i') }}

{{ $isAnnouncement && $isMine ? 'Pengumuman' : ($message->read_at ? 'Sudah dibaca' : ($isMine ? 'Belum dibaca' : 'Belum dibalas')) }}

{{ $message->body }}

@unless($isAnnouncement && $isMine)
@csrf
@endunless
@empty
Belum ada pesan untuk akun ini.
@endforelse
@endsection