This commit is contained in:
mmrbnjd
2025-07-27 22:55:26 +03:30
parent 104e38c3b1
commit 43b6e4e746
3 changed files with 54 additions and 23 deletions

View File

@@ -1,5 +1,7 @@
@using Common.Dtos.Conversation
@using HushianWebApp.Service
@inject IJSRuntime JSRuntime
@inject ConversationService conversationService;
<div class="chat-container p-3">
@@ -12,8 +14,8 @@
@if (!msg.IsRead && msg.Type == Common.Enums.ConversationType.UE)
{
<p>ـــــــــــــــــــــــــ</p>
}
}
</div>
}
@@ -46,29 +48,29 @@
<style>
.chat-bubble {
padding: 0.5rem 0.75rem;
border-radius: 1rem;
max-width: 75%;
word-wrap: break-word;
white-space: pre-wrap;
padding: 0.5rem 0.75rem;
border-radius: 1rem;
max-width: 75%;
word-wrap: break-word;
white-space: pre-wrap;
}
.chat-mine {
background: linear-gradient(to right, #005eff, #267fff);
color: white;
border-top-left-radius: 0;
background: linear-gradient(to right, #005eff, #267fff);
color: white;
border-top-left-radius: 0;
}
.chat-other {
background-color: #f1f1f1;
color: #333;
border-top-right-radius: 0;
background-color: #f1f1f1;
color: #333;
border-top-right-radius: 0;
}
.chat-ai {
background-color: #f1f1f1;
color: #353;
border-top-right-radius: 0;
background-color: #f1f1f1;
color: #353;
border-top-right-radius: 0;
}
</style>
@@ -91,10 +93,12 @@
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)
if (msg != null && !msg.IsRead && msg.Type == Common.Enums.ConversationType.UE)
{
msg.IsRead = true;
await EventCallIsRead.InvokeAsync(id);
await conversationService.MarkAsReadConversationItemAsync(id);
// await EventCallIsRead.InvokeAsync(id);
}
await Task.CompletedTask;
}

View File

@@ -174,12 +174,18 @@
public int UserID = 0;
async Task OnclickInbox(int ID)
{
Inbox1Items = await conversationService.ConversationAwaitingOurResponse();
Inbox2Items = await conversationService.MyConversationIsInProgress();
Inbox3Items = await conversationService.MyConversationIsFinished();
switch (ID)
{
case 1:
isSelectedInbox1 = true;
isSelectedInbox2 = false;
isSelectedInbox3 = false;
break;
case 2:
@@ -219,8 +225,15 @@
}
async Task onClickSelectedCon(int InboxID,Read_ConversationDto conversationDto)
{
// پر کردن SelectedCon
// مقدار دادن به SelectedChatUserName
if (InboxID == 1 )
Inbox1Items = await conversationService.ConversationAwaitingOurResponse();
if (InboxID == 2 )
Inbox2Items = await conversationService.MyConversationIsInProgress();
if ( InboxID == 3)
Inbox3Items = await conversationService.MyConversationIsFinished();
chatloading = true;
SelectedChatUserName = "در حال گفتگو با "+ conversationDto.UserFullName;
SelectedConversation = conversationDto;

View File

@@ -7,7 +7,7 @@
if (item.Type == Common.Enums.ConversationType.UE)
{
<div style="display: flex; "
dir="rtl" class="p-1 rounded w-100">
dir="rtl" class="p-1 rounded w-100">
<div class="bg-green-100 border p-2 rounded text-end" dir="rtl">
@item.text
</div>
@@ -17,8 +17,16 @@
}
else
{
<div id="target" style="text-align: center;">
@if (!target&& !item.IsRead)
{
target = true;
<p>ـــــــــــــــــــــــــ</p>
}
</div>
<div style="display: flex; "
dir="ltr" class="p-1 rounded w-100">
dir="ltr" class="p-1 rounded w-100">
<div class="bg-white border p-3 rounded text-end" dir="rtl">
@item.text
</div>
@@ -35,6 +43,12 @@
@code {
// [Parameter] public List<Read_ConversationDto> Conversations { get; set; }
bool target = false;
// [Parameter] public List<Read_ConversationDto> Conversations { get; set; }
[Parameter] public List<Read_ConversationResponseDto> SelectedConversationItems { get; set; }
protected override Task OnParametersSetAsync()
{
target = false;
return base.OnParametersSetAsync();
}
}