This commit is contained in:
mmrbnjd
2025-08-21 16:41:20 +03:30
7 changed files with 50 additions and 49 deletions

View File

@@ -7,7 +7,10 @@
@using HushianWebApp.Services
@using Microsoft.AspNetCore.SignalR.Client;
@using System.Threading;
<PageTitle>گفتگو با @CompanyInfo.FullName</PageTitle>
@if(CompanyInfo!=null)
{
<PageTitle>گفتگو با @CompanyInfo?.FullName</PageTitle>
}
@inject NavigationManager NavigationManager
@inject ChatService ChatService
@inject ILocalStorageService localStorageService;
@@ -131,12 +134,12 @@
هوشیان
</p>
@if (CompanyGroups != null && CompanyGroups.Any())
@if (CompanyGroups != null && CompanyGroups.Any(w => w.Available))
{
<div class="groups-container mt-4">
<h6 class="text-center mb-3 text-muted">انتخاب گروه:</h6>
<div class="groups-grid">
@foreach (var group in CompanyGroups)
@foreach (var group in CompanyGroups.Where(w=>w.Available))
{
<div class="group-card @(GroupID == group.ID ? "selected" : "")"
@onclick="() => SelectGroup(group.ID)">
@@ -162,7 +165,7 @@
</div>
@if (LastOpenChat == null || (LastOpenChat != null && LastOpenChat.status != Common.Enums.ConversationStatus.Finished && LastOpenChat.Responses != null))
@if (CompanyInfo != null && (LastOpenChat == null || (LastOpenChat != null && LastOpenChat.status != Common.Enums.ConversationStatus.Finished && LastOpenChat.Responses != null)))
{
<!-- B2: Message input -->
<div class="message-input-container" id="B2">
@@ -270,7 +273,7 @@
ReadANDUpdate_CompanyDto? CompanyInfo = new();
Common.Dtos.CurrentUserInfo CurrentUser = new();
List<Read_GroupDto> CompanyGroups = new();
ChatItemDto? LastOpenChat = new();
ChatItemDto? LastOpenChat = null;
string MsgInput = string.Empty;
IBrowserFile? SelectedImageFile = null;
byte[]? SelectedImageBytes = null;
@@ -367,7 +370,7 @@
IsRecording = false;
recordingTimer?.Dispose();
recordingTimer = null;
await ClearSelectedImage();
await ClearSelectedImage();
StateHasChanged();
}
}
@@ -566,8 +569,8 @@
{
CompanyInfo = await companyService.GetCompany(CompanyID);
if (CompanyInfo != null)
CompanyGroups = await groupService.GetGroupsCompany(CompanyID);
await IsLastChat();
{ CompanyGroups = await groupService.GetGroupsCompany(CompanyID);
await IsLastChat();}
}
async Task IsLastChat()
{
@@ -594,6 +597,7 @@
[JSInvokable]
public async Task MarkAsRead(int id)
{
if (LastOpenChat == null) return;
var msg = LastOpenChat.Responses.FirstOrDefault(m => m.ID == id);
if (msg != null && !msg.IsRead && msg.Type != Common.Enums.ConversationType.UE)
{