|
|
|
@ -300,21 +300,64 @@ const ArticleHistory: Component = () => {
|
|
|
|
<div class="text-sm text-gray-700">
|
|
|
|
<div class="text-sm text-gray-700">
|
|
|
|
{page() * PAGE_SIZE + 1}–{Math.min((page() + 1) * PAGE_SIZE, total())} / {total()}
|
|
|
|
{page() * PAGE_SIZE + 1}–{Math.min((page() + 1) * PAGE_SIZE, total())} / {total()}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="flex gap-2">
|
|
|
|
<div class="flex items-center gap-2">
|
|
|
|
|
|
|
|
<button
|
|
|
|
|
|
|
|
onClick={() => handlePageChange(0)}
|
|
|
|
|
|
|
|
disabled={page() === 0}
|
|
|
|
|
|
|
|
class="px-2 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
|
|
|
|
title="Premiere page"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
««
|
|
|
|
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
<button
|
|
|
|
onClick={() => handlePageChange(page() - 1)}
|
|
|
|
onClick={() => handlePageChange(page() - 1)}
|
|
|
|
disabled={page() === 0}
|
|
|
|
disabled={page() === 0}
|
|
|
|
class="px-3 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
class="px-2 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
|
|
|
|
title="Page precedente"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
«
|
|
|
|
«
|
|
|
|
</button>
|
|
|
|
</button>
|
|
|
|
|
|
|
|
<div class="flex items-center gap-1 text-sm text-gray-600">
|
|
|
|
|
|
|
|
<span>Page</span>
|
|
|
|
|
|
|
|
<input
|
|
|
|
|
|
|
|
type="number"
|
|
|
|
|
|
|
|
min="1"
|
|
|
|
|
|
|
|
max={totalPages()}
|
|
|
|
|
|
|
|
value={page() + 1}
|
|
|
|
|
|
|
|
onKeyDown={(e) => {
|
|
|
|
|
|
|
|
if (e.key === 'Enter') {
|
|
|
|
|
|
|
|
const val = parseInt(e.currentTarget.value);
|
|
|
|
|
|
|
|
if (val >= 1 && val <= totalPages()) {
|
|
|
|
|
|
|
|
handlePageChange(val - 1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
onChange={(e) => {
|
|
|
|
|
|
|
|
const val = parseInt(e.currentTarget.value);
|
|
|
|
|
|
|
|
if (val >= 1 && val <= totalPages()) {
|
|
|
|
|
|
|
|
handlePageChange(val - 1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
class="w-14 px-1 py-1 text-center text-sm border border-gray-300 rounded-md focus:ring-indigo-500 focus:border-indigo-500"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<span>/ {totalPages()}</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<button
|
|
|
|
<button
|
|
|
|
onClick={() => handlePageChange(page() + 1)}
|
|
|
|
onClick={() => handlePageChange(page() + 1)}
|
|
|
|
disabled={page() >= totalPages() - 1}
|
|
|
|
disabled={page() >= totalPages() - 1}
|
|
|
|
class="px-3 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
class="px-2 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
|
|
|
|
title="Page suivante"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
»
|
|
|
|
»
|
|
|
|
</button>
|
|
|
|
</button>
|
|
|
|
|
|
|
|
<button
|
|
|
|
|
|
|
|
onClick={() => handlePageChange(totalPages() - 1)}
|
|
|
|
|
|
|
|
disabled={page() >= totalPages() - 1}
|
|
|
|
|
|
|
|
class="px-2 py-1 text-sm border border-gray-300 rounded-md disabled:opacity-50 hover:bg-gray-50"
|
|
|
|
|
|
|
|
title="Derniere page"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
»»
|
|
|
|
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Show>
|
|
|
|
</Show>
|
|
|
|
|