Paginate the admin review queue (and flagged list)
CI/CD / CI · dotnet build (push) Successful in 1m59s
CI/CD / Deploy · hamkadr (push) Successful in 3m3s

The «صف بررسی» loaded every New/Flagged RawListing at once — endless scroll once a crawl fills
it. Page both at 20/row with «قبلی/بعدی» controls (independent q & f query params); the header
now shows the true totals, not the page size.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-21 18:42:36 +03:30
parent 7bbb4e385e
commit cdb58eeb86
2 changed files with 41 additions and 7 deletions
+23 -3
View File
@@ -9,8 +9,8 @@
<h1>پنل مدیریت — جمع‌آوری و صف آگهی‌ها</h1>
<p class="muted">
آگهی‌های جمع‌آوری‌شده از منابع را بررسی، ساختارمند و منتشر کن.
(@JalaliDate.ToPersianDigits(Model.Queue.Count.ToString()) در صف،
@JalaliDate.ToPersianDigits(Model.Flagged.Count.ToString()) پرچم‌خورده)
(@JalaliDate.ToPersianDigits(Model.QueueTotal.ToString()) در صف،
@JalaliDate.ToPersianDigits(Model.FlaggedTotal.ToString()) پرچم‌خورده)
· <a asp-page="/Admin/Overview">داشبورد</a>
· <a asp-page="/Admin/Users">کاربران</a>
· <a asp-page="/Admin/Facilities">مراکز</a>
@@ -163,9 +163,19 @@
{
<partial name="_RawListingRow" model="r" />
}
@if (Model.QueuePages > 1)
{
<div class="row" style="display:flex; gap:10px; justify-content:center; align-items:center; margin-top:14px;">
@if (Model.QueuePage > 1)
{ <a class="btn btn-outline" asp-route-q="@(Model.QueuePage - 1)" asp-route-f="@Model.FlaggedPage">→ قبلی</a> }
<span class="muted">صفحه @JalaliDate.ToPersianDigits(Model.QueuePage.ToString()) از @JalaliDate.ToPersianDigits(Model.QueuePages.ToString())</span>
@if (Model.QueuePage < Model.QueuePages)
{ <a class="btn btn-outline" asp-route-q="@(Model.QueuePage + 1)" asp-route-f="@Model.FlaggedPage">بعدی ←</a> }
</div>
}
}
@if (Model.Flagged.Count > 0)
@if (Model.FlaggedTotal > 0)
{
<h2 style="font-size:20px; margin-top:28px;">پرچم‌خورده (ناقص/مشکوک)</h2>
<p class="muted" style="font-size:13px;">اعتبارسنجی این‌ها را کامل ندانست؛ در صورت صحت می‌توانی منتشرشان کنی.</p>
@@ -173,6 +183,16 @@
{
<partial name="_RawListingRow" model="r" />
}
@if (Model.FlaggedPages > 1)
{
<div class="row" style="display:flex; gap:10px; justify-content:center; align-items:center; margin-top:14px;">
@if (Model.FlaggedPage > 1)
{ <a class="btn btn-outline" asp-route-q="@Model.QueuePage" asp-route-f="@(Model.FlaggedPage - 1)">→ قبلی</a> }
<span class="muted">صفحه @JalaliDate.ToPersianDigits(Model.FlaggedPage.ToString()) از @JalaliDate.ToPersianDigits(Model.FlaggedPages.ToString())</span>
@if (Model.FlaggedPage < Model.FlaggedPages)
{ <a class="btn btn-outline" asp-route-q="@Model.QueuePage" asp-route-f="@(Model.FlaggedPage + 1)">بعدی ←</a> }
</div>
}
}
</div>
</div>