improving search ui

This commit is contained in:
Hamid Reza Mohammadi 2025-01-28 13:14:34 +03:30
parent f511314bb2
commit 801e793de7
3 changed files with 17 additions and 10 deletions

View File

@ -235,6 +235,9 @@
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
@Html.Raw(Model.PagingToolsHtml) @Html.Raw(Model.PagingToolsHtml)
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div>
تعداد کل نتایج: @Model.PaginationMetadata.totalCount.ToPersianNumbers()
</div>
} }

View File

@ -1,4 +1,5 @@
@page @page
@using DNTPersianUtils.Core
@model GanjooRazor.Pages.SimiModel @model GanjooRazor.Pages.SimiModel
@{ @{
Layout = null; Layout = null;
@ -390,10 +391,11 @@
@if (!string.IsNullOrEmpty(Model.PagingToolsHtml)) @if (!string.IsNullOrEmpty(Model.PagingToolsHtml))
{ {
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
@Html.Raw(Model.PagingToolsHtml) @Html.Raw(Model.PagingToolsHtml)
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div>
تعداد کل نتایج: @Model.PaginationMetadata.totalCount.ToPersianNumbers()
</div>
} }

View File

@ -76,6 +76,8 @@ namespace GanjooRazor.Pages
public GanjoorPoetCompleteViewModel Poet { get; set; } public GanjoorPoetCompleteViewModel Poet { get; set; }
public List<GanjoorPoemCompleteViewModel> Poems { get; set; } public List<GanjoorPoemCompleteViewModel> Poems { get; set; }
public string PagingToolsHtml { get; set; } public string PagingToolsHtml { get; set; }
public PaginationMetadata PaginationMetadata { get; set; }
public string LastError { get; set; } public string LastError { get; set; }
public string Language { get; set; } public string Language { get; set; }
public GanjoorPoemFormat Format { get; set; } public GanjoorPoemFormat Format { get; set; }
@ -391,10 +393,10 @@ namespace GanjooRazor.Pages
} }
string paginnationMetadata = response.Headers.GetValues("paging-headers").FirstOrDefault(); string paginnationMetadata = response.Headers.GetValues("paging-headers").FirstOrDefault();
PaginationMetadata paginationMetadata = JsonConvert.DeserializeObject<PaginationMetadata>(paginnationMetadata); PaginationMetadata = JsonConvert.DeserializeObject<PaginationMetadata>(paginnationMetadata);
string htmlText = ""; string htmlText = "";
if (paginationMetadata.totalPages > 1) if (PaginationMetadata.totalPages > 1)
{ {
htmlText = $"<div>{Environment.NewLine}"; htmlText = $"<div>{Environment.NewLine}";
string authorParam = PoetId != 0 ? $"&amp;a={PoetId}" : ""; string authorParam = PoetId != 0 ? $"&amp;a={PoetId}" : "";
@ -403,15 +405,15 @@ namespace GanjooRazor.Pages
authorParam += $"&amp;c={CatId}"; authorParam += $"&amp;c={CatId}";
} }
title += $" - صفحهٔ {pageNumber.ToPersianNumbers()}"; title += $" - صفحهٔ {pageNumber.ToPersianNumbers()}";
if (paginationMetadata.currentPage > 3) if (PaginationMetadata.currentPage > 3)
{ {
htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&amp;g={Uri.EscapeDataString(Rhyme)}&amp;page=1{authorParam}&amp;l={Language}&amp;f={(int)Format}\"><div class=\"circled-number\">۱</div></a> …"; htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&amp;g={Uri.EscapeDataString(Rhyme)}&amp;page=1{authorParam}&amp;l={Language}&amp;f={(int)Format}\"><div class=\"circled-number\">۱</div></a> …";
} }
for (int i = paginationMetadata.currentPage - 2; i <= (paginationMetadata.currentPage + 2); i++) for (int i = PaginationMetadata.currentPage - 2; i <= (PaginationMetadata.currentPage + 2); i++)
{ {
if (i >= 1 && i <= paginationMetadata.totalPages) if (i >= 1 && i <= PaginationMetadata.totalPages)
{ {
if (i == paginationMetadata.currentPage) if (i == PaginationMetadata.currentPage)
{ {
htmlText += $"<div class=\"circled-number-diff\">{i.ToPersianNumbers()}</div>{Environment.NewLine}"; htmlText += $"<div class=\"circled-number-diff\">{i.ToPersianNumbers()}</div>{Environment.NewLine}";
} }
@ -421,9 +423,9 @@ namespace GanjooRazor.Pages
} }
} }
} }
if (paginationMetadata.totalPages > (paginationMetadata.currentPage + 2)) if (PaginationMetadata.totalPages > (PaginationMetadata.currentPage + 2))
{ {
htmlText += $"… <a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&amp;g={Uri.EscapeDataString(Rhyme)}&amp;page={paginationMetadata.totalPages}{authorParam}&amp;l={Language}&amp;f={(int)Format}\"><div class=\"circled-number\">{paginationMetadata.totalPages.ToPersianNumbers()}</div></a>{Environment.NewLine}"; htmlText += $"… <a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&amp;g={Uri.EscapeDataString(Rhyme)}&amp;page={PaginationMetadata.totalPages}{authorParam}&amp;l={Language}&amp;f={(int)Format}\"><div class=\"circled-number\">{PaginationMetadata.totalPages.ToPersianNumbers()}</div></a>{Environment.NewLine}";
} }
htmlText += $"</div>{Environment.NewLine}"; htmlText += $"</div>{Environment.NewLine}";
} }