176 lines
6.2 KiB
Plaintext
176 lines
6.2 KiB
Plaintext
@using Shared.DTOs
|
||
@inject HttpClient _hc
|
||
@layout BlogLayout
|
||
@page "/BlogDetails/{ItemID:int}"
|
||
@inject NavigationManager Navigation
|
||
<PageTitle>دانشنامه</PageTitle>
|
||
|
||
<main>
|
||
|
||
<!-- breadcrumb-area-start -->
|
||
<div class="breadcrumb__area breadcrumb-ptb-4 p-relative blue-bg-2">
|
||
<div class="breadcrumb__shape-1">
|
||
<img src="img/breadcrumb/breadcrumb-shape-1.png" alt="">
|
||
</div>
|
||
<div class="breadcrumb__shape-2">
|
||
<img src="img/breadcrumb/breadcrumb-shape-2.png" alt="">
|
||
</div>
|
||
<div class="container">
|
||
<div class="row align-items-end">
|
||
<div class="col-xl-9 col-lg-9 col-md-9">
|
||
<div class="blog-details-banner z-index-2">
|
||
<div class="blog-details-title-box">
|
||
<div class="tp-blog-meta d-flex align-items-center">
|
||
<div class="tp-blog-category category-color-1"><span>@Item?.Title.Split(':')[0]</span></div><!--!-->
|
||
<div class="tp-blog-date"><span>@Item?.Date</span></div>
|
||
</div>
|
||
<h4 class="blog-details-banner-title">@Item?.Title.Split(':')[1]</h4>
|
||
</div>
|
||
<div class="tp-blog-author-info-box d-flex align-items-center">
|
||
<div class="tp-blog-avata">
|
||
<img src="img/avata/blog-avata-Publisher.png" alt="">
|
||
</div>
|
||
<div class="tp-blog-author-info">
|
||
<h5>مهدی ربیع نژاد</h5>
|
||
<span>مدیر سایت</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- breadcrumb-area-end -->
|
||
<!-- breadcrumb-banner-start -->
|
||
<div class="blog-details-img-area mb-80">
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="col-xl-12">
|
||
<div class="blog-details-big-img z-index-2">
|
||
<img src="img/blog/@Item?.Photo" width="400" height="400" alt="">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- breadcrumb-banner-end -->
|
||
<!-- postbox area start -->
|
||
<div class="postbox__area pt-100 pb-100">
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="col-xxl-8 col-xl-8 col-lg-8">
|
||
<div class="postbox__details-wrapper pr-20">
|
||
<article>
|
||
|
||
<div class="postbox__details-title-box pb-30">
|
||
|
||
@((MarkupString)Item?.Text)
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
</div>
|
||
<div class="col-xxl-4 col-xl-4 col-lg-4">
|
||
<div class="sidebar__wrapper">
|
||
|
||
<div class="sidebar__widget mb-40">
|
||
<div class="sidebar__widge-title-box">
|
||
<h3 class="sidebar__widget-title">پست های اخیر</h3>
|
||
</div>
|
||
<div class="sidebar__widget-content">
|
||
<div class="sidebar__post rc__post">
|
||
@foreach (var item in collectionitem)
|
||
{
|
||
<ItemBlog___v2 Item="item"/>
|
||
}
|
||
|
||
|
||
</div><a href="blog-details.html">
|
||
</a>
|
||
</div><a href="blog-details.html">
|
||
</a>
|
||
</div>
|
||
|
||
<div class="sidebar__widget mb-40">
|
||
<div class="sidebar__widge-title-box">
|
||
<h3 class="sidebar__widget-title">برچسب ها</h3>
|
||
</div>
|
||
<div class="sidebar__widget-content">
|
||
<div class="tagcloud">
|
||
@foreach (var item in Item.Tags.Split(','))
|
||
{
|
||
<a href="#">@item</a>
|
||
}
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- postbox area end -->
|
||
|
||
|
||
|
||
</main>
|
||
|
||
@code {
|
||
[Parameter]
|
||
public int? ItemID { get; set; }
|
||
|
||
public List<BlogDto> collectionitem { get; set; } = new List<BlogDto>();
|
||
public BlogDtoFull? Item { get; set; }
|
||
|
||
protected override async Task OnParametersSetAsync()
|
||
{
|
||
if (ItemID != null)
|
||
{
|
||
Item = await GetItems();
|
||
// Item.Text = "<p><strong>RTHH</strong></p>";
|
||
if (Item==null)
|
||
Navigation.NavigateTo("/");
|
||
|
||
}
|
||
|
||
else
|
||
Navigation.NavigateTo("/");
|
||
await base.OnParametersSetAsync();
|
||
}
|
||
protected override async Task OnInitializedAsync()
|
||
{
|
||
|
||
var request = await _hc.GetFromJsonAsync<PagingDto<BlogDto>>($"Base/LastBlog?PageIndex=1&PageSize=3");
|
||
if (request !=null)
|
||
collectionitem = request.list;
|
||
|
||
await base.OnInitializedAsync();
|
||
}
|
||
}
|
||
@functions{
|
||
public async Task<BlogDtoFull?> GetItems()
|
||
{
|
||
var response = await _hc.GetAsync($"Base/GetBlogByID/{ItemID}");
|
||
|
||
if (!response.IsSuccessStatusCode)
|
||
return null;
|
||
|
||
|
||
return await response.Content.ReadFromJsonAsync<BlogDtoFull>();
|
||
}
|
||
}
|