This commit is contained in:
mmrbnjd
2024-11-16 15:08:18 +03:30
parent 6fe0cee3ef
commit ae654b1ffe
15 changed files with 117 additions and 124 deletions

View File

@@ -10,6 +10,7 @@
public string Time { get; set; } public string Time { get; set; }
public bool Status { get; set; } public bool Status { get; set; }
public string? Tags { get; set; } public string? Tags { get; set; }
public string? Description { get; set; } public string? DescriptionTag { get; set; }
public string? keywordsTag { get; set; }
} }
} }

View File

@@ -79,7 +79,8 @@ namespace Back.Services
Text=s.Text, Text=s.Text,
Time=s.Time, Time=s.Time,
Tags= s.Tags, Tags= s.Tags,
Description=s.Description DescriptionTag=s.DescriptionTag,
keywordsTag=s.keywordsTag
}).FirstOrDefaultAsync(); }).FirstOrDefaultAsync();
return result; return result;
} }

View File

@@ -22,6 +22,7 @@ namespace Shared.DTOs
public string Date { get; set; } public string Date { get; set; }
public string Time { get; set; } public string Time { get; set; }
public string? Tags { get; set; } public string? Tags { get; set; }
public string? Description { get; set; } public string? DescriptionTag { get; set; }
public string? keywordsTag { get; set; }
} }
} }

View File

@@ -244,7 +244,7 @@
public async Task GenerateTags() public async Task GenerateTags()
{ {
description = Item.Description ?? Item.Title; description = Item.DescriptionTag;
} }
} }

View File

@@ -1,33 +0,0 @@
@inherits LayoutComponentBase
<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">
</HeadContent>
<LBlogheader />
<div id="smooth-wrapper">
<div id="smooth-content">
@Body
<Lfooter />
</div>
</div>

View File

@@ -1,7 +0,0 @@
@inherits LayoutComponentBase
<div class="main">
<div class="content px-4">
@Body
</div>
</div>

View File

@@ -1,40 +1,22 @@
 
@inject HttpClient _hc @inject HttpClient _hc
@layout EmptyLayout @layout Shared.BlogLayout
@page "/BlogDetails/{ItemID:int}" @page "/BlogDetails/{ItemID:int}"
@using global::Shared.DTOs @using global::Shared.DTOs
@using moadiran.Layout @using moadiran.Layout
@inject NavigationManager Navigation @inject NavigationManager Navigation
<PageTitle>@Item?.Title</PageTitle> <PageTitle>@Item?.Title</PageTitle>
<HeadContent> <HeadContent>
<!-- Place favicon.ico in the root directory --> @if (!string.IsNullOrEmpty(description))
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.png"> {<meta name="description" content="@description" />}
@if (!string.IsNullOrEmpty(keywords))
<!-- CSS here --> { <meta name="keywords" content="@keywords">}
<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">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="FA" />
<meta name="description" content="@description" />
</HeadContent> </HeadContent>
<LBlogheader />
<div id="smooth-wrapper"> <main>
<div id="smooth-content">
<main>
<!-- breadcrumb-area-start --> <!-- breadcrumb-area-start -->
<div style="border-radius: .8em;" class="breadcrumb__area breadcrumb-ptb-4 p-relative blue-bg-2"> <div style="border-radius: .8em;" class="breadcrumb__area breadcrumb-ptb-4 p-relative blue-bg-2">
@@ -53,7 +35,7 @@
<div class="tp-blog-category category-color-1"><span>@Item?.Title.Split(':')[0]</span></div><!--!--> <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 class="tp-blog-date"><span>@Item?.Date</span></div>
</div> </div>
<h4 class="blog-details-banner-title">@Item?.Title.Split(':')[1]</h4> <h1 class="blog-details-banner-title">@Item?.Title.Split(':')[1]</h1>
</div> </div>
<div class="tp-blog-author-info-box d-flex align-items-center"> <div class="tp-blog-author-info-box d-flex align-items-center">
<div class="tp-blog-avata"> <div class="tp-blog-avata">
@@ -182,18 +164,11 @@
</main> </main>
<Lfooter />
</div>
</div>
@code { @code {
//meta tags //meta tags
public string description { get; set; } public string? description { get; set; }
public string? keywords { get; set; }
//--------------------- //---------------------
public string strSearch { get; set; } public string strSearch { get; set; }
[Parameter] [Parameter]
@@ -245,8 +220,8 @@
} }
public async Task GenerateTags() public async Task GenerateTags()
{ {
keywords = Item.keywordsTag;
description = Item.Description ?? Item.Title; description = Item.DescriptionTag;
} }
} }

View File

@@ -1,9 +1,12 @@
@inject Fixedvalues fv; @inject Fixedvalues fv;
@page "/" @page "/"
@inject IConfiguration _config
@using moadiran.Layout @using moadiran.Layout
<PageTitle>مُؤدیٰران (مدیریت صورتحساب ها)</PageTitle> <PageTitle>مُؤدیٰران (مدیریت صورتحساب ها)</PageTitle>
<HeadContent>
<meta name="description" content="@description" />
</HeadContent>
<main class="fix"> <main class="fix">
@@ -22,14 +25,14 @@
<div class="col-xl-10"> <div class="col-xl-10">
<div class="tp-hero__content-box text-center z-index-3"> <div class="tp-hero__content-box text-center z-index-3">
<div class="tp-hero__title-box p-relative"> <div class="tp-hero__title-box p-relative">
<h2 class="tp-hero__hero-title"> <h1 class="tp-hero__hero-title">
مُؤدیٰران مُؤدیٰران
</h2> </h1>
<h3 > <h2 >
سامانه ای برای مدیران سامانه ای برای مدیران
</h3>
<h2 class="tp-hero__hero-title tp-title-anim">
</h2> </h2>
<h3 class="tp-hero__hero-title tp-title-anim">
</h3>
<h5 style="color:red;" class="wow tpfadeUp" data-wow-duration=".9s" data-wow-delay=".7s"> <h5 style="color:red;" class="wow tpfadeUp" data-wow-duration=".9s" data-wow-delay=".7s">
امتحانش رایگانه امتحانش رایگانه
</h5> </h5>
@@ -398,3 +401,11 @@
</main> </main>
@code {
protected override async Task OnInitializedAsync()
{
description = _config.GetSection("MetaTags:Home:description").Value;
await base.OnInitializedAsync();
}
public string description { get; set; }
}

View File

@@ -1,6 +1,6 @@
 @inject IConfiguration _config
@inject HttpClient _hc @inject HttpClient _hc
@layout BlogLayout @layout Shared.BlogLayout
@page "/ListBlog" @page "/ListBlog"
@page "/ListBlog/{Tag}" @page "/ListBlog/{Tag}"
@page "/SearchBlog/{itemSearch}" @page "/SearchBlog/{itemSearch}"
@@ -9,6 +9,12 @@
@using global::Shared.DTOs @using global::Shared.DTOs
@inject NavigationManager Navigation @inject NavigationManager Navigation
<PageTitle>دانشنامه</PageTitle> <PageTitle>دانشنامه</PageTitle>
<HeadContent>
<meta name="description" content="@description" />
<meta name="keywords" content="@keywords">
</HeadContent>
<main> <main>
<!-- breadcrumb-area-start --> <!-- breadcrumb-area-start -->
@@ -103,6 +109,8 @@
</main> </main>
@code { @code {
public string description { get; set; }
public string keywords { get; set; }
[Parameter] [Parameter]
public string? Tag { get; set; } public string? Tag { get; set; }
@@ -113,6 +121,12 @@
public PagingDto<BlogDto>? request { get; set; } public PagingDto<BlogDto>? request { get; set; }
protected override async Task OnInitializedAsync()
{
description = _config.GetSection("MetaTags:ListBlog:description").Value;
keywords = _config.GetSection("MetaTags:ListBlog:keywords").Value;
await base.OnInitializedAsync();
}
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
if (PageIndex == null) PageIndex = 1; if (PageIndex == null) PageIndex = 1;
@@ -121,6 +135,8 @@
if (!string.IsNullOrEmpty(itemSearch)) url += $" &ItemSearch={itemSearch}"; if (!string.IsNullOrEmpty(itemSearch)) url += $" &ItemSearch={itemSearch}";
else if (!string.IsNullOrEmpty(Tag)) url += $" &Tag={Tag}"; else if (!string.IsNullOrEmpty(Tag)) url += $" &Tag={Tag}";
request = await _hc.GetFromJsonAsync<PagingDto<BlogDto>>(url); request = await _hc.GetFromJsonAsync<PagingDto<BlogDto>>(url);
await base.OnParametersSetAsync(); await base.OnParametersSetAsync();
} }

View File

@@ -2,8 +2,15 @@
@page "/Verification/{ID:int}" @page "/Verification/{ID:int}"
@inject HttpClient _hc @inject HttpClient _hc
@inject NavigationManager nav @inject NavigationManager nav
@inject IConfiguration _config
<PageTitle>مودیران / احراز هویت</PageTitle> <PageTitle>مودیران / احراز هویت</PageTitle>
<Toasts class="p-3" Messages="messages" AutoHide="true" Delay="5000" Placement="ToastsPlacement.BottomLeft" /> <Toasts class="p-3" Messages="messages" AutoHide="true" Delay="5000" Placement="ToastsPlacement.BottomLeft" />
<HeadContent>
<meta name="description" content="@description" />
</HeadContent>
<main> <main>
<!-- tp-banner-area-start --> <!-- tp-banner-area-start -->
@@ -84,6 +91,7 @@
</main> </main>
@code { @code {
public string description { get; set; }
List<ToastMessage> messages = new List<ToastMessage>(); List<ToastMessage> messages = new List<ToastMessage>();
public string hidden { get; set; } public string hidden { get; set; }
public bool SpinnerVisible { get; set; } = false; public bool SpinnerVisible { get; set; } = false;
@@ -103,6 +111,11 @@
[SupplyParameterFromForm] [SupplyParameterFromForm]
public VerificationCodeDto? VerificationCodeModel { get; set; } = new VerificationCodeDto(); public VerificationCodeDto? VerificationCodeModel { get; set; } = new VerificationCodeDto();
protected override async Task OnInitializedAsync()
{
description = _config.GetSection("MetaTags:Verification:description").Value;
await base.OnInitializedAsync();
}
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
var request = await _hc.GetAsync($"Verification/GetVerification/{ID}"); var request = await _hc.GetAsync($"Verification/GetVerification/{ID}");

View File

@@ -6,19 +6,30 @@
<html class="no-js" lang="zxx" dir="rtl"> <html class="no-js" lang="zxx" dir="rtl">
<head> <head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>مُؤدیٰران (مدیریت صورتحساب ها)</title> <title>مُؤدیٰران (مدیریت صورتحساب ها)</title>
<base href="/" /> <base href="/" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" /> <link rel="stylesheet" href="css/app.css" />
<link rel="icon" type="image/png" href="img/logo/siyahe.png" /> <link rel="icon" type="image/png" href="img/logo/siyahe.png" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet" />
<!--<link href="_content/Blazor.Bootstrap/blazor.bootstrap.css" rel="stylesheet" />--> <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">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" /> <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head> </head>

View File

@@ -0,0 +1,14 @@
@using moadiran.Layout
@inherits LayoutComponentBase
<LBlogheader />
<div id="smooth-wrapper">
<div id="smooth-content">
@Body
<Lfooter />
</div>
</div>

View File

@@ -1,30 +1,8 @@
@using moadiran.Layout @using moadiran.Layout
@inherits LayoutComponentBase @inherits LayoutComponentBase
@inject Fixedvalues fv; @inject Fixedvalues fv;
<HeadContent>
<!-- Place favicon.ico in the root directory -->
<link rel="icon" type="image/png" href="img/logo/siyahe.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">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="FA" />
<meta name="description" content="@description" />
</HeadContent>
<Lheader /> <Lheader />
<div id="smooth-wrapper"> <div id="smooth-wrapper">
<div id="smooth-content"> <div id="smooth-content">
@@ -33,7 +11,7 @@
</div> </div>
</div> </div>
@code { @code {
public string description { get; set; } = "سامانه ای برای مدیریت صورتحساب های فروش با الگوی سازمان امورمالیاتی کشور و ارسال صورت حساب به سامانه مودیان";
protected override async Task OnAfterRenderAsync(bool firstRender) protected override async Task OnAfterRenderAsync(bool firstRender)
{ {
if(firstRender) if(firstRender)

View File

@@ -5,5 +5,17 @@
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
}, },
"MetaTags": {
"Verification": {
"description": "سامانه ای برای مدیریت صورتحساب های فروش با الگوی سازمان امورمالیاتی کشور و ارسال صورت حساب به سامانه مودیان"
},
"Home": {
"description": "سامانه ای برای مدیریت صورتحساب های فروش با الگوی سازمان امورمالیاتی کشور و ارسال صورت حساب به سامانه مودیان"
},
"ListBlog": {
"description": "دانشنانه مؤدیران",
"keywords": "دانشنانه مؤدیران"
}
},
"AllowedHosts": "*" "AllowedHosts": "*"
} }