diff --git a/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml b/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml
new file mode 100644
index 00000000..bc520479
--- /dev/null
+++ b/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml
@@ -0,0 +1,118 @@
+@page
+@using DNTPersianUtils.Core
+@model GanjooRazor.Areas.Admin.Pages.ReviewCatEditsModel
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@{
+ Layout = "_AdminLayout";
+ ViewData["Title"] = "ویرایشهای بخشها";
+}
+
+@if (!string.IsNullOrEmpty(Model.FatalError))
+{
+
@Model.FatalError
+ return;
+}
+
+
+
+ |
+ پیشنهاد دهنده:
+ |
+
+ @Model.Correction.UserNickname
+ |
+
+
+ |
+ بررسی
+ |
+
+
+ |
+
+
+
+ |
+ زمان:
+ |
+
+ @Model.Correction.Date.ToFriendlyPersianDateTextify()
+ |
+
+
+
+ |
+ تعداد کل:
+ |
+
+ @Model.TotalCount
+ |
+
+
+
+ |
+ درست نیست
+ |
+
+
+
+ |
+ تغییرات متن
+ |
+
+
+ |
+ @Model.Correction.OriginalDescription
+ |
+
+ @Model.Correction.Description
+ |
+
+
+ |
+ @Model.Correction.OriginalDescription
+
+ |
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+ @if (!string.IsNullOrEmpty(Model.Correction.Note))
+ {
+
+ | یادداشت: |
+
+ @Model.Correction.Note
+ |
+
+ }
+
+
+
+
+ | یادداشت بررسی: |
+ |
+
+
+
+
+
+
diff --git a/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml.cs
new file mode 100644
index 00000000..47ea9a20
--- /dev/null
+++ b/GanjooRazor/Areas/Admin/Pages/ReviewCatEdits.cshtml.cs
@@ -0,0 +1,93 @@
+using GanjooRazor.Utils;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.RazorPages;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+using RMuseum.Models.Ganjoor.ViewModels;
+using RSecurityBackend.Models.Generic;
+using System.Net.Http;
+using System.Threading.Tasks;
+using System.Linq;
+
+namespace GanjooRazor.Areas.Admin.Pages
+{
+ [IgnoreAntiforgeryToken(Order = 1001)]
+ public class ReviewCatEditsModel : PageModel
+ {
+ ///
+ /// correction
+ ///
+ public GanjoorCatCorrectionViewModel Correction { get; set; }
+ ///
+ /// fatal error
+ ///
+ public string FatalError { get; set; }
+
+ ///
+ /// skip
+ ///
+ public int Skip { get; set; }
+
+ ///
+ /// total count
+ ///
+ public int TotalCount { get; set; }
+
+ ///
+ /// page
+ ///
+ public GanjoorPageCompleteViewModel PageInformation { get; set; }
+ public async Task OnGetAsync()
+ {
+ if (string.IsNullOrEmpty(Request.Cookies["Token"]))
+ return Redirect("/");
+
+ FatalError = "";
+ TotalCount = 0;
+ Skip = string.IsNullOrEmpty(Request.Query["skip"]) ? 0 : int.Parse(Request.Query["skip"]);
+ using (HttpClient secureClient = new HttpClient())
+ {
+ if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
+ {
+ var nextResponse = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/cat/correction/next?skip={Skip}");
+ if (!nextResponse.IsSuccessStatusCode)
+ {
+ FatalError = JsonConvert.DeserializeObject(await nextResponse.Content.ReadAsStringAsync());
+ return Page();
+ }
+
+ string paginnationMetadata = nextResponse.Headers.GetValues("paging-headers").FirstOrDefault();
+ if (!string.IsNullOrEmpty(paginnationMetadata))
+ {
+ TotalCount = JsonConvert.DeserializeObject(paginnationMetadata).totalCount;
+ }
+ Correction = JsonConvert.DeserializeObject(await nextResponse.Content.ReadAsStringAsync());
+ if (Correction != null)
+ {
+ var catQuery = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/cat/{Correction.CatId}");
+ if (!catQuery.IsSuccessStatusCode)
+ {
+ FatalError = JsonConvert.DeserializeObject(await catQuery.Content.ReadAsStringAsync());
+ return Page();
+ }
+ var cat = JsonConvert.DeserializeObject(await catQuery.Content.ReadAsStringAsync());
+ var pageQuery = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/page?url={cat.Cat.FullUrl}");
+ if (!pageQuery.IsSuccessStatusCode)
+ {
+ FatalError = JsonConvert.DeserializeObject(await pageQuery.Content.ReadAsStringAsync());
+ return Page();
+ }
+ PageInformation = JObject.Parse(await pageQuery.Content.ReadAsStringAsync()).ToObject();
+
+ }
+
+ }
+ else
+ {
+ FatalError = "لطفاً از گنجور خارج و مجددا به آن وارد شوید.";
+ }
+ }
+ return Page();
+ }
+ }
+}
diff --git a/GanjooRazor/Pages/Shared/_AdminLayout.cshtml b/GanjooRazor/Pages/Shared/_AdminLayout.cshtml
index 9c53818d..0b1a406f 100644
--- a/GanjooRazor/Pages/Shared/_AdminLayout.cshtml
+++ b/GanjooRazor/Pages/Shared/_AdminLayout.cshtml
@@ -445,6 +445,13 @@
+