initial commit

This commit is contained in:
2026-08-04 14:41:21 +03:00
parent 3cb8fcde60
commit 1a1d6186d8
101 changed files with 23239 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
@model PagingData
@{
bool has_previous = Model.CurrentPage > 0;
bool has_next = Model.CurrentPage < Model.LastPage;
int first_page = Math.Max( 0 , Model.CurrentPage - 3 );
int last_page = Math.Min( first_page + 6 , Model.LastPage );
if ( last_page - first_page < 6 )
first_page = Math.Max( 0 , last_page - 6 );
bool show_dots_before = first_page > 0;
if ( show_dots_before )
first_page += 2; // shift first page to make room for [1][...]
bool show_dots_after = last_page < Model.LastPage;
if (show_dots_after)
last_page -= 2; // shift last page to make room for [...][last]
}
@if ( Model.LastPage > 0 )
{
<nav>
<ul class="pagination justify-content-center pagination-sm">
<li class="page-item @(has_previous ? "" : "disabled")">
<a class="page-link" href="@Model.Url( Model.CurrentPage - 1 )" tabindex="-1">Previous</a>
</li>
@if ( show_dots_before )
{
<li class="page-item"><a class="page-link" href="@Model.Url( 0 )">1</a></li>
<li class="page-item disabled"><span class="page-link">...</span></li>
}
@for ( int p = first_page ; p <= last_page; p++ )
{
if ( Model.CurrentPage == p )
{
<li class="page-item active"><span class="page-link">@(p+1)</span></li>
}
else
{
<li class="page-item"><a class="page-link" href="@Model.Url( p )">@(p+1)</a></li>
}
}
@if ( show_dots_after )
{
<li class="page-item disabled"><span class="page-link">...</span></li>
<li class="page-item"><a class="page-link" href="@Model.Url( Model.LastPage )">@( Model.LastPage + 1 )</a></li>
}
<li class="page-item @(has_next ? "" : "disabled")">
<a class="page-link" href="@Model.Url( Model.CurrentPage + 1 )" tabindex="-1">Next</a>
</li>
</ul>
</nav>
}