This commit is contained in:
mmrbnjd
2024-05-04 02:53:36 +03:30
parent dd12564a81
commit 4c57996b35
7 changed files with 140 additions and 41 deletions

View File

@@ -1,32 +1,85 @@
<div dir="ltr" class="chat">
@using Front.Services
@using Shared.DTOs
@inject HttpClientController hc;
<div class="row">
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
<Icon Name="@alertIconName" class="me-2"></Icon>
@alertMessage
</Alert>
</div>
<div dir="ltr" class="chat">
<div class="messages" id="chat">
<div class="time">
Today at 11:41
</div>
<div class="message parker">
Hey, man! What's up, Mr Stark?&nbsp;👋
</div>
@for (int i = 0; i < subTickets?.Count; i++)
{
if (i == 0 || subTickets[i - 1].Date != @subTickets[i].Date)
{
<div class="time"> @subTickets[i].Date </div>
}
string type = subTickets[i].Type == SideType.Customer ? "parker" : "stark";
<div class="message stark">
Kid, where'd you come from?
<div class="message @type">
@subTickets[i].Text
</div>
}
<div class="message parker">
Field trip! 🤣
</div>
<div class="message parker">
حل شد 🤣
</div>
<div class="message stark">
مشکل ما چی شد
</div>
</div>
<div class="input">
<input placeholder="Type your message here!" type="text">
</div>
@if (Ticket.Status == StatusTicket.Awaitingreview || Ticket.Status == StatusTicket.Read_Checking
|| Ticket.Status == StatusTicket.hasbeenanswered)
{
<div class="input">
<input placeholder="Type your message here!" type="text">
</div>
}
</div>
@code{
// alert
AlertColor alertColor = AlertColor.Primary;
IconName alertIconName = IconName.CheckCircleFill;
bool Hidealert = true;
string alertMessage = "";
[Parameter]
public TicketDTO Ticket { get; set; }
public List<SubTicketDTO>? subTickets { get; set; } = new List<SubTicketDTO>();
protected override async Task OnParametersSetAsync()
{
var rsp = await hc.Get($"Ticket/GetSubTicket/{Ticket.TicketID}");
if (rsp.IsSuccessStatusCode)
{
var res = await rsp.Content.ReadFromJsonAsync<ICollection<SubTicketDTO>>();
subTickets = res?.ToList();
}
else
{
ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
await base.OnParametersSetAsync();
}
}
@functions {
private void ShowSuccessAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Success;
alertIconName = IconName.CheckCircleFill;
alertMessage = msg;
}
private void ShowDangerAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Danger;
alertIconName = IconName.ExclamationTriangleFill;
alertMessage = msg;
}
}