@using Common.Dtos.Conversation @inject IJSRuntime JSRuntime
@foreach (var msg in Messages) { @if (!target && ((!msg.IsRead && msg.Type == Common.Enums.ConversationType.UE) || Messages.Last() == msg)) { target = true;
@if (!msg.IsRead && msg.Type == Common.Enums.ConversationType.UE) {

ـــــــــــــــــــــــــ

}
}
@msg.text
@if (msg.Type == Common.Enums.ConversationType.EU) { if (msg.IsRead) { } else { } }
}
@code { bool target = false; [Parameter] public List Messages { get; set; } = new(); [Parameter] public EventCallback EventCallIsRead { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await JSRuntime.InvokeVoidAsync("observeVisibility", DotNetObjectReference.Create(this)); await JSRuntime.InvokeVoidAsync("scrollToTarget"); } } [JSInvokable] public async Task MarkAsRead(int id) { var msg = Messages.FirstOrDefault(m => m.ID == id); if (msg != null && !msg.IsRead && msg.Type==Common.Enums.ConversationType.UE) { msg.IsRead = true; await EventCallIsRead.InvokeAsync(id); } await Task.CompletedTask; } }