Files
moadiran/TaxPayerFull/Pages/BlogDetails.razor

248 lines
10 KiB
Plaintext
Raw Normal View History

2024-04-02 17:14:18 +03:30
@using Shared.DTOs
@inject HttpClient _hc
2024-09-18 15:29:58 +03:30
@layout EmptyLayout
2024-04-02 17:14:18 +03:30
@page "/BlogDetails/{ItemID:int}"
2024-04-03 14:36:33 +03:30
@inject NavigationManager Navigation
2024-04-02 17:14:18 +03:30
<PageTitle>دانشنامه</PageTitle>
2024-09-18 15:29:58 +03:30
<HeadContent>
<!-- Place favicon.ico in the root directory -->
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.png">
<!-- CSS here -->
<link rel="stylesheet" href="css/bootstrap.rtl.min.css">
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/custom-animation.css">
<link rel="stylesheet" href="css/slick.css">
<link rel="stylesheet" href="css/nice-select.css">
<link rel="stylesheet" href="css/flaticon.css">
<link rel="stylesheet" href="css/swiper-bundle.css">
<link rel="stylesheet" href="css/meanmenu.css">
<link rel="stylesheet" href="css/font-awesome-pro.css">
<link rel="stylesheet" href="css/magnific-popup.css">
<link rel="stylesheet" href="css/spacing.css">
<link rel="stylesheet" href="css/Lanstyle.css">
<link rel="stylesheet" href="css/rtl.css">
2024-09-18 23:52:48 +03:30
<meta name="description" content="@description" />
2024-09-18 15:29:58 +03:30
</HeadContent>
<LBlogheader />
<div id="smooth-wrapper">
<div id="smooth-content">
<main>
<!-- breadcrumb-area-start -->
2024-09-18 23:52:48 +03:30
<div style="border-radius: .8em;" class="breadcrumb__area breadcrumb-ptb-4 p-relative blue-bg-2">
2024-09-18 15:29:58 +03:30
<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>
2024-04-02 17:14:18 +03:30
</div>
</div>
2024-09-18 15:29:58 +03:30
2024-04-02 17:14:18 +03:30
</div>
</div>
</div>
2024-09-18 15:29:58 +03:30
<!-- 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="">
2024-04-02 17:14:18 +03:30
</div>
2024-09-18 15:29:58 +03:30
</div>
2024-04-02 17:14:18 +03:30
</div>
</div>
2024-09-18 15:29:58 +03:30
</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>
2024-09-16 17:36:28 +03:30
</div>
</div>
2024-09-18 15:29:58 +03:30
<div class="col-xxl-4 col-xl-4 col-lg-4">
<div class="sidebar__wrapper">
2024-09-18 23:52:48 +03:30
<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__search">
<form action="#">
<div class="sidebar__search-input-2">
<InputText @bind-Value="strSearch" type="text" class="inputText" placeholder="کلمه ای را بنویسید ..." />
<button @onclick="SearchClick">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.01371 15.2219C11.9525 15.2219 15.1456 12.0382 15.1456 8.11096C15.1456 4.18368 11.9525 1 8.01371 1C4.07488 1 0.881836 4.18368 0.881836 8.11096C0.881836 12.0382 4.07488 15.2219 8.01371 15.2219Z" stroke="#5F6168" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M16.9287 16.9996L13.0508 13.1331" stroke="#5F6168" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
</button>
</div>
</form>
</div>
</div>
</div>
2024-09-18 15:29:58 +03:30
<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" />
}
2024-09-16 22:33:59 +03:30
2024-09-18 15:29:58 +03:30
</div>
2024-09-16 22:33:59 +03:30
</div>
2024-09-18 15:29:58 +03:30
2024-09-16 22:33:59 +03:30
</div>
2024-09-18 15:29:58 +03:30
@if (Item != null && !string.IsNullOrEmpty(Item.Tags))
{
<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('-'))
{
string P = "/ListBlog/" + item;
<NavLink rel="tag" href="@P">@item</NavLink>
}
</div>
</div>
</div>
}
2024-09-16 22:33:59 +03:30
</div>
2024-09-18 15:29:58 +03:30
</div>
2024-04-02 17:14:18 +03:30
</div>
</div>
</div>
2024-09-18 15:29:58 +03:30
<!-- postbox area end -->
</main>
<Lfooter />
2024-04-02 17:14:18 +03:30
</div>
2024-09-18 15:29:58 +03:30
</div>
2024-04-02 17:14:18 +03:30
2024-09-16 22:33:59 +03:30
2024-04-02 17:14:18 +03:30
@code {
2024-09-18 23:52:48 +03:30
//meta tags
public string description { get; set; }
//---------------------
public string strSearch { get; set; }
2024-04-02 17:14:18 +03:30
[Parameter]
public int? ItemID { get; set; }
2024-04-03 14:36:33 +03:30
public List<BlogDto> collectionitem { get; set; } = new List<BlogDto>();
public BlogDtoFull? Item { get; set; }
2024-07-20 12:58:17 +03:30
2024-04-03 14:36:33 +03:30
protected override async Task OnParametersSetAsync()
{
if (ItemID != null)
{
Item = await GetItems();
2024-09-18 23:52:48 +03:30
if (Item == null)
2024-04-03 14:36:33 +03:30
Navigation.NavigateTo("/");
2024-09-18 23:52:48 +03:30
else await GenerateTags();
2024-04-03 14:36:33 +03:30
}
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{
2024-09-18 23:52:48 +03:30
public async Task SearchClick()
{
if (!string.IsNullOrEmpty(strSearch))
Navigation.NavigateTo("/SearchBlog/" + strSearch);
}
2024-04-03 14:36:33 +03:30
public async Task<BlogDtoFull?> GetItems()
{
var response = await _hc.GetAsync($"Base/GetBlogByID/{ItemID}");
if (!response.IsSuccessStatusCode)
2024-09-18 23:52:48 +03:30
return null;
2024-04-03 14:36:33 +03:30
return await response.Content.ReadFromJsonAsync<BlogDtoFull>();
}
2024-09-18 23:52:48 +03:30
public async Task GenerateTags()
{
description = Item.Title;
}
2024-04-02 17:14:18 +03:30
}