view ticket
This commit is contained in:
@@ -6,13 +6,6 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Remove="Common\DTOs\**" />
|
|
||||||
<Content Remove="Common\DTOs\**" />
|
|
||||||
<EmbeddedResource Remove="Common\DTOs\**" />
|
|
||||||
<None Remove="Common\DTOs\**" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Melipayamak.RestClient" Version="1.0.0" />
|
<PackageReference Include="Melipayamak.RestClient" Version="1.0.0" />
|
||||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.0" />
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.0" />
|
||||||
@@ -31,13 +24,17 @@
|
|||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Common\DTOs\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Shared\Shared.csproj" />
|
<ProjectReference Include="..\Shared\Shared.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Service">
|
<Reference Include="Service">
|
||||||
<HintPath>..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll</HintPath>
|
<HintPath>..\..\Dlls\Service.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@@ -29,12 +29,11 @@ namespace Back.Features
|
|||||||
{
|
{
|
||||||
servUser _servUser = (servUser)httpContext.RequestServices.GetService(typeof(servUser));
|
servUser _servUser = (servUser)httpContext.RequestServices.GetService(typeof(servUser));
|
||||||
var user = _servUser.GetUserByUserID(UserID).Result;
|
var user = _servUser.GetUserByUserID(UserID).Result;
|
||||||
if (user.Token==accessToken)
|
if (user != null && user.Token==accessToken)
|
||||||
await _next(httpContext);
|
await _next(httpContext);
|
||||||
else
|
else
|
||||||
{
|
|
||||||
httpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;
|
httpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
81
TaxPayerFull/Layout/LTicket.razor
Normal file
81
TaxPayerFull/Layout/LTicket.razor
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
@using Shared.DTOs
|
||||||
|
|
||||||
|
<Modal @ref="modal" title="Modal title" IsVerticallyCentered="true">
|
||||||
|
<BodyTemplate>
|
||||||
|
<div class="col-md-1">
|
||||||
|
This is a vertically centered modal.
|
||||||
|
</div>
|
||||||
|
</BodyTemplate>
|
||||||
|
<FooterTemplate>
|
||||||
|
<Button Color="ButtonColor.Secondary" @onclick="OnHideModalClick">Close</Button>
|
||||||
|
<Button Color="ButtonColor.Primary">Save changes</Button>
|
||||||
|
</FooterTemplate>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
<li class="list-group-item" data-toggle="modal" data-target="#issue">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-1">
|
||||||
|
<a style="cursor:pointer" @onclick="OnShowModalClick"><br />#@Ticket.TicketID</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<h6 style="cursor:pointer; color: #4793AF;" @onclick="OnShowModalClick">@Ticket.Title</h6>
|
||||||
|
<Badge Color="@badgeColor" IndicatorType="BadgeIndicatorType.RoundedPill">@Ticket.MsgStatus</Badge>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align:center;" class="col-md-2">
|
||||||
|
<p>تاریخ شروع <br /> @Ticket.CreateDate</p>
|
||||||
|
</div>
|
||||||
|
@if (!string.IsNullOrEmpty(Ticket.EndDate))
|
||||||
|
{
|
||||||
|
<div style="text-align:center;" class="col-md-2">
|
||||||
|
<p>تاریخ پایان <br /> @Ticket.EndDate</p>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public TicketDTO Ticket { get; set; }
|
||||||
|
public BadgeColor badgeColor = BadgeColor.Light;
|
||||||
|
|
||||||
|
protected override async Task OnParametersSetAsync()
|
||||||
|
{
|
||||||
|
switch (Ticket.Status)
|
||||||
|
{
|
||||||
|
case StatusTicket.Awaitingreview:
|
||||||
|
badgeColor = BadgeColor.Warning;
|
||||||
|
break;
|
||||||
|
case StatusTicket.Read_Checking:
|
||||||
|
badgeColor = BadgeColor.Primary;
|
||||||
|
break;
|
||||||
|
case StatusTicket.hasbeenanswered:
|
||||||
|
badgeColor = BadgeColor.Success;
|
||||||
|
break;
|
||||||
|
case StatusTicket.End:
|
||||||
|
badgeColor = BadgeColor.Secondary;
|
||||||
|
break;
|
||||||
|
case StatusTicket.optout:
|
||||||
|
badgeColor = BadgeColor.Danger;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
badgeColor = BadgeColor.Light;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
await base.OnParametersSetAsync();
|
||||||
|
}
|
||||||
|
//-----------
|
||||||
|
private Modal modal = default!;
|
||||||
|
private async Task OnShowModalClick()
|
||||||
|
{
|
||||||
|
await modal.ShowAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task OnHideModalClick()
|
||||||
|
{
|
||||||
|
await modal.HideAsync();
|
||||||
|
}
|
||||||
|
}
|
@@ -68,7 +68,9 @@
|
|||||||
<ItemBlog Item="request.list[i]" />
|
<ItemBlog Item="request.list[i]" />
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav aria-label="Page navigation">
|
<nav aria-label="Page navigation">
|
||||||
|
<br />
|
||||||
<ul class="pagination justify-content-center">
|
<ul class="pagination justify-content-center">
|
||||||
@for (int page = 1; page <= request?.PageCount; page++)
|
@for (int page = 1; page <= request?.PageCount; page++)
|
||||||
{
|
{
|
||||||
|
@@ -1,102 +1,142 @@
|
|||||||
@page "/Ticket"
|
@page "/Ticket"
|
||||||
|
@using Front.Services
|
||||||
|
@using Shared.DTOs
|
||||||
|
@using Shared.DTOs.Serch
|
||||||
@layout PanelLayout
|
@layout PanelLayout
|
||||||
|
@inject HttpClientController hc;
|
||||||
|
|
||||||
<div class="container-xxl flex-grow-1 container-p-y">
|
<div class="container-xxl flex-grow-1 container-p-y">
|
||||||
<div class="container">
|
<h4 class="fw-bold py-3 mb-4">
|
||||||
<div class="row clearfix">
|
<span class="text-muted fw-light">متفرقه /</span> پشتیبانی
|
||||||
<div class="col-lg-12">
|
</h4>
|
||||||
<div class="card chat-app">
|
<div class="row">
|
||||||
<div id="plist" class="people-list">
|
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
|
||||||
<ul class="list-unstyled chat-list mt-2 mb-0">
|
<Icon Name="@alertIconName" class="me-2"></Icon>
|
||||||
<li class="clearfix">
|
@alertMessage
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="avatar">
|
</Alert>
|
||||||
<div class="about">
|
|
||||||
<div class="name">Vincent Porter</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle offline"></i> left 7 mins ago </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="clearfix active">
|
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="avatar">
|
|
||||||
<div class="about">
|
|
||||||
<div class="name">Aiden Chavez</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle online"></i> online </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="clearfix">
|
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="avatar">
|
|
||||||
<div class="about">
|
|
||||||
<div class="name">Mike Thomas</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle online"></i> online </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="clearfix">
|
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="avatar">
|
|
||||||
<div class="about">
|
|
||||||
<div class="name">Christian Kelly</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle offline"></i> left 10 hours ago </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="clearfix">
|
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar8.png" alt="avatar">
|
|
||||||
<div class="about">
|
|
||||||
<div class="name">Monica Ward</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle online"></i> online </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="clearfix">
|
|
||||||
<img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="avatar">
|
|
||||||
<div class="about">
|
|
||||||
<div class="name">Dean Henry</div>
|
|
||||||
<div class="status"> <i class="fa fa-circle offline"></i> offline since Oct 28 </div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="chat">
|
|
||||||
<div class="chat-header clearfix">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col">
|
|
||||||
<div class="chat-about">
|
|
||||||
<h6 class="m-b-0">Aiden Chavez</h6>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="chat-history">
|
<div class="col-md-6">
|
||||||
<ul class="m-b-0">
|
<div class="card mb-4">
|
||||||
<li class="clearfix">
|
<h5 class="card-header">تیکت ها</h5>
|
||||||
<div class="message other-message"> Hi Aiden, how are you? How is the project coming along? </div>
|
|
||||||
<div class="message-data">
|
<div class="row">
|
||||||
<span class="message-data-time">10:10 AM, Today</span>
|
<div class="col-md-12">
|
||||||
|
<ul class="list-group fa-padding" style="border: 2px solid #0d6efd">
|
||||||
|
<li class="list-group-item" data-toggle="modal" data-target="#issue">
|
||||||
|
<div class="row g-3">
|
||||||
|
<div class="col-md-2">
|
||||||
|
<InputText @bind-Value="TicketID" placeholder="شناسه" style="text-align:center;" class="form-control" type="text" id="EconomicCode" />
|
||||||
</div>
|
</div>
|
||||||
</li>
|
<div class="col-md-6">
|
||||||
<li style="text-align:left;" class="clearfix">
|
<InputText style="text-align:center;" placeholder="عنوان" @bind-Value="Title" class="form-control" type="text" id="UniqeMemory" />
|
||||||
<div>
|
|
||||||
<div class="message my-message">Are we meeting today?</div>
|
|
||||||
<div class="message-data">
|
|
||||||
<span style="text-align:right;" class="message-data-time">10:12 AM, Today</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
|
||||||
|
<button type="submit" onclick="@Submit" class="btn btn-primary">جستجو</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
|
||||||
|
<button type="submit" onclick="@Submit" class="btn btn-primary">جدید</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="chat-message clearfix">
|
</div>
|
||||||
<div class="input-group mb-0">
|
|
||||||
<div class="input-group-prepend">
|
<div class="row">
|
||||||
<span class="input-group-text"><i class="fa fa-send"></i></span>
|
<div class="col-md-12">
|
||||||
</div>
|
<ul class="list-group fa-padding">
|
||||||
<input type="text" class="form-control" placeholder="Enter text here...">
|
@for (int i = 0; i < request?.list.Count; i++)
|
||||||
</div>
|
{
|
||||||
|
<LTicket Ticket="request?.list[i]" />
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
<nav aria-label="Page navigation">
|
||||||
|
<br />
|
||||||
|
<ul class="pagination justify-content-center">
|
||||||
|
@for (int page = 1; page <= request?.PageCount; page++)
|
||||||
|
{
|
||||||
|
if (page == PageIndex)
|
||||||
|
{
|
||||||
|
<li class="page-item disabled">
|
||||||
|
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<li class="page-item">
|
||||||
|
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/js/bootstrap.bundle.min.js"></script>
|
@code {
|
||||||
|
// alert
|
||||||
|
AlertColor alertColor = AlertColor.Primary;
|
||||||
|
IconName alertIconName = IconName.CheckCircleFill;
|
||||||
|
bool Hidealert = true;
|
||||||
|
string alertMessage = "";
|
||||||
|
|
||||||
|
|
||||||
|
public string? TicketID { get; set; }
|
||||||
|
public string? Title { get; set; }
|
||||||
|
|
||||||
|
[Parameter, SupplyParameterFromQuery]
|
||||||
|
public int? PageIndex { get; set; }
|
||||||
|
|
||||||
|
public Shared.DTOs.PagingDto<TicketDTO>? request { get; set; }
|
||||||
|
|
||||||
|
protected override async Task OnParametersSetAsync()
|
||||||
|
{
|
||||||
|
if (PageIndex == null) PageIndex = 1;
|
||||||
|
request = new PagingDto<TicketDTO>(2, 10, new List<TicketDTO>()
|
||||||
|
{
|
||||||
|
new TicketDTO
|
||||||
|
{
|
||||||
|
CreateDate="1402/08/05",
|
||||||
|
CreateTime="20:10:10",
|
||||||
|
EndDate="1402/08/08",
|
||||||
|
EndTime="08:10:10",
|
||||||
|
MsgStatus="خوانده شده/ در حال بررسی",
|
||||||
|
Status=StatusTicket.optout,
|
||||||
|
TicketID=1,
|
||||||
|
Title="این یک تست برای یک تیکت است"
|
||||||
|
},
|
||||||
|
new TicketDTO
|
||||||
|
{
|
||||||
|
CreateDate="1402/08/05",
|
||||||
|
CreateTime="20:10:10",
|
||||||
|
EndDate="1402/08/08",
|
||||||
|
EndTime="08:10:10",
|
||||||
|
MsgStatus="خوانده شده/ در حال بررسی",
|
||||||
|
Status=StatusTicket.optout,
|
||||||
|
TicketID=1,
|
||||||
|
Title="این یک تست برای یک تیکت است"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await base.OnParametersSetAsync();
|
||||||
|
}
|
||||||
|
private async Task Submit()
|
||||||
|
{
|
||||||
|
var eeee = Title + " " + Title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1,264 +0,0 @@
|
|||||||
body {
|
|
||||||
background-color: #f4f7f6;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card {
|
|
||||||
background: #fff;
|
|
||||||
transition: .5s;
|
|
||||||
border: 0;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
border-radius: .55rem;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 10%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .people-list {
|
|
||||||
width: 280px;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
padding: 20px;
|
|
||||||
z-index: 7
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat {
|
|
||||||
margin-left: 280px;
|
|
||||||
border-left: 1px solid #eaeaea
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list {
|
|
||||||
-moz-transition: .5s;
|
|
||||||
-o-transition: .5s;
|
|
||||||
-webkit-transition: .5s;
|
|
||||||
transition: .5s
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .chat-list li {
|
|
||||||
padding: 10px 15px;
|
|
||||||
list-style: none;
|
|
||||||
border-radius: 3px
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .chat-list li:hover {
|
|
||||||
background: #efefef;
|
|
||||||
cursor: pointer
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .chat-list li.active {
|
|
||||||
background: #efefef
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .chat-list li .name {
|
|
||||||
font-size: 15px
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .chat-list img {
|
|
||||||
width: 45px;
|
|
||||||
border-radius: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list img {
|
|
||||||
float: left;
|
|
||||||
border-radius: 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .about {
|
|
||||||
float: left;
|
|
||||||
padding-left: 8px
|
|
||||||
}
|
|
||||||
|
|
||||||
.people-list .status {
|
|
||||||
color: #999;
|
|
||||||
font-size: 13px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-header {
|
|
||||||
padding: 15px 20px;
|
|
||||||
border-bottom: 2px solid #f4f7f6
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-header img {
|
|
||||||
float: left;
|
|
||||||
border-radius: 40px;
|
|
||||||
width: 40px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-header .chat-about {
|
|
||||||
float: left;
|
|
||||||
padding-left: 10px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history {
|
|
||||||
padding: 20px;
|
|
||||||
border-bottom: 2px solid #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history ul {
|
|
||||||
padding: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history ul li {
|
|
||||||
list-style: none;
|
|
||||||
margin-bottom: 30px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history ul li:last-child {
|
|
||||||
margin-bottom: 0px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .message-data {
|
|
||||||
margin-bottom: 15px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .message-data img {
|
|
||||||
border-radius: 40px;
|
|
||||||
width: 40px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .message-data-time {
|
|
||||||
color: #434651;
|
|
||||||
padding-left: 6px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .message {
|
|
||||||
color: #444;
|
|
||||||
padding: 18px 20px;
|
|
||||||
line-height: 26px;
|
|
||||||
font-size: 16px;
|
|
||||||
border-radius: 7px;
|
|
||||||
display: inline-block;
|
|
||||||
position: relative
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .message:after {
|
|
||||||
bottom: 100%;
|
|
||||||
left: 7%;
|
|
||||||
border: solid transparent;
|
|
||||||
content: " ";
|
|
||||||
height: 0;
|
|
||||||
width: 0;
|
|
||||||
position: absolute;
|
|
||||||
pointer-events: none;
|
|
||||||
border-bottom-color: #fff;
|
|
||||||
border-width: 10px;
|
|
||||||
margin-left: -10px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .my-message {
|
|
||||||
background: #efefef
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .my-message:after {
|
|
||||||
bottom: 100%;
|
|
||||||
left: 30px;
|
|
||||||
border: solid transparent;
|
|
||||||
content: " ";
|
|
||||||
height: 0;
|
|
||||||
width: 0;
|
|
||||||
position: absolute;
|
|
||||||
pointer-events: none;
|
|
||||||
border-bottom-color: #efefef;
|
|
||||||
border-width: 10px;
|
|
||||||
margin-left: -10px
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .other-message {
|
|
||||||
background: #e8f1f3;
|
|
||||||
text-align: right
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-history .other-message:after {
|
|
||||||
border-bottom-color: #e8f1f3;
|
|
||||||
left: 93%
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat .chat-message {
|
|
||||||
padding: 20px
|
|
||||||
}
|
|
||||||
|
|
||||||
.online,
|
|
||||||
.offline,
|
|
||||||
.me {
|
|
||||||
margin-right: 2px;
|
|
||||||
font-size: 8px;
|
|
||||||
vertical-align: middle
|
|
||||||
}
|
|
||||||
|
|
||||||
.online {
|
|
||||||
color: #86c541
|
|
||||||
}
|
|
||||||
|
|
||||||
.offline {
|
|
||||||
color: #e47297
|
|
||||||
}
|
|
||||||
|
|
||||||
.me {
|
|
||||||
color: #1d8ecd
|
|
||||||
}
|
|
||||||
|
|
||||||
.float-right {
|
|
||||||
float: right
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix:after {
|
|
||||||
visibility: hidden;
|
|
||||||
display: block;
|
|
||||||
font-size: 0;
|
|
||||||
content: " ";
|
|
||||||
clear: both;
|
|
||||||
height: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 767px) {
|
|
||||||
.chat-app .people-list {
|
|
||||||
height: 465px;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
background: #fff;
|
|
||||||
left: -400px;
|
|
||||||
display: none
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .people-list.open {
|
|
||||||
left: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat .chat-header {
|
|
||||||
border-radius: 0.55rem 0.55rem 0 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat-history {
|
|
||||||
height: 300px;
|
|
||||||
overflow-x: auto
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (min-width: 768px) and (max-width: 992px) {
|
|
||||||
.chat-app .chat-list {
|
|
||||||
height: 650px;
|
|
||||||
overflow-x: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat-history {
|
|
||||||
height: 600px;
|
|
||||||
overflow-x: auto
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {
|
|
||||||
.chat-app .chat-list {
|
|
||||||
height: 480px;
|
|
||||||
overflow-x: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-app .chat-history {
|
|
||||||
height: calc(100vh - 350px);
|
|
||||||
overflow-x: auto
|
|
||||||
}
|
|
||||||
}
|
|
@@ -33,9 +33,9 @@ builder.Services.AddScoped(sp => new UserAuthenticationDTO()
|
|||||||
}) ;
|
}) ;
|
||||||
|
|
||||||
|
|
||||||
//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:7075/api/") });
|
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:7075/api/") });
|
||||||
|
|
||||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("http://localhost:5271/api/") });
|
//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("http://localhost:5271/api/") });
|
||||||
|
|
||||||
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("fa-Ir");
|
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("fa-Ir");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user