49 lines
2.9 KiB
HTML
49 lines
2.9 KiB
HTML
<div class="overflow-hidden">
|
|
<table class="w-full table-fixed text-left text-sm">
|
|
<thead class="bg-app-bg border-b border-app-border">
|
|
<tr class="text-app-textMuted font-semibold tracking-wide uppercase text-xs">
|
|
<th class="hidden sm:table-cell px-4 py-3 w-16">#</th>
|
|
<th class="hidden md:table-cell px-4 py-3 w-24">Платформа</th>
|
|
<th class="px-4 py-3">Название</th>
|
|
<th class="hidden sm:table-cell px-4 py-3 w-32">Тэг</th>
|
|
<th class="hidden lg:table-cell px-4 py-3 w-48">Ссылка</th>
|
|
<th class="px-3 py-3 w-28 sm:w-32">Статус</th>
|
|
<th class="hidden sm:table-cell px-4 py-3 w-24 text-right">Посты</th>
|
|
<th class="hidden xl:table-cell px-4 py-3 w-40 text-right">Последний парсинг</th>
|
|
<th class="px-3 py-3 w-24 sm:w-32 text-center">Действия</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="divide-y divide-app-border text-xs">
|
|
{% for s in sources %}
|
|
{% include "source_row.html" %}
|
|
{% else %}
|
|
<tr>
|
|
<td colspan="9" class="px-4 py-12 text-center">
|
|
<div class="flex flex-col items-center justify-center text-app-textMuted">
|
|
<i data-lucide="database" class="w-12 h-12 mb-3 text-app-borderFocus"></i>
|
|
<p class="text-sm">Нет источников, удовлетворяющих фильтрам.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination bottom -->
|
|
{% if pagination.pages > 1 %}
|
|
<div class="flex justify-center p-4 border-t border-app-border">
|
|
<div class="tabs p-1">
|
|
<button hx-get="?page=1" hx-include="#filter-form" hx-target="#content-area" class="btn btn-sm btn-ghost w-10 h-10 p-0 rounded-md" {% if pagination.page == 1 %}disabled{% endif %}><i data-lucide="chevrons-left" class="w-4 h-4"></i></button>
|
|
<button hx-get="?page={{ pagination.page - 1 }}" hx-include="#filter-form" hx-target="#content-area" class="btn btn-sm btn-ghost w-10 h-10 p-0 rounded-md" {% if pagination.page == 1 %}disabled{% endif %}><i data-lucide="chevron-left" class="w-4 h-4"></i></button>
|
|
|
|
<span class="flex items-center justify-center px-4 text-sm font-medium text-app-textMuted bg-app-bg rounded-md border border-app-border mx-1">
|
|
{{ pagination.page }} из {{ pagination.pages }}
|
|
</span>
|
|
|
|
<button hx-get="?page={{ pagination.page + 1 }}" hx-include="#filter-form" hx-target="#content-area" class="btn btn-sm btn-ghost w-10 h-10 p-0 rounded-md" {% if pagination.page >= pagination.pages %}disabled{% endif %}><i data-lucide="chevron-right" class="w-4 h-4"></i></button>
|
|
<button hx-get="?page={{ pagination.pages }}" hx-include="#filter-form" hx-target="#content-area" class="btn btn-sm btn-ghost w-10 h-10 p-0 rounded-md" {% if pagination.page >= pagination.pages %}disabled{% endif %}><i data-lucide="chevrons-right" class="w-4 h-4"></i></button>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|