refactor: avoid using unnecessary class-name in the pagination component (#274)

This commit is contained in:
87xie
2024-07-14 16:59:27 +08:00
committed by GitHub
parent eba03726b2
commit 227fcf21e7
+12 -4
View File
@@ -12,31 +12,39 @@ const { currentPage, totalPages, prevUrl, nextUrl } = Astro.props;
const prev = currentPage > 1 ? "" : "disabled"; const prev = currentPage > 1 ? "" : "disabled";
const next = currentPage < totalPages ? "" : "disabled"; const next = currentPage < totalPages ? "" : "disabled";
const isPrevDisabled = prev === "disabled";
const isNextDisabled = next === "disabled";
--- ---
{ {
totalPages > 1 && ( totalPages > 1 && (
<nav class="pagination-wrapper" aria-label="Pagination"> <nav class="pagination-wrapper" aria-label="Pagination">
<LinkButton <LinkButton
disabled={prev === "disabled"} disabled={isPrevDisabled}
href={prevUrl} href={prevUrl}
className={`mr-4 select-none ${prev}`} className={`mr-4 select-none ${prev}`}
ariaLabel="Previous" ariaLabel="Previous"
> >
<svg xmlns="http://www.w3.org/2000/svg" class={`${prev}-svg`}> <svg
xmlns="http://www.w3.org/2000/svg"
class:list={[{ "disabled-svg": isPrevDisabled }]}
>
<path d="M12.707 17.293 8.414 13H18v-2H8.414l4.293-4.293-1.414-1.414L4.586 12l6.707 6.707z" /> <path d="M12.707 17.293 8.414 13H18v-2H8.414l4.293-4.293-1.414-1.414L4.586 12l6.707 6.707z" />
</svg> </svg>
Prev Prev
</LinkButton> </LinkButton>
{currentPage} / {totalPages} {currentPage} / {totalPages}
<LinkButton <LinkButton
disabled={next === "disabled"} disabled={isNextDisabled}
href={nextUrl} href={nextUrl}
className={`ml-4 select-none ${next}`} className={`ml-4 select-none ${next}`}
ariaLabel="Next" ariaLabel="Next"
> >
Next Next
<svg xmlns="http://www.w3.org/2000/svg" class={`${next}-svg`}> <svg
xmlns="http://www.w3.org/2000/svg"
class:list={[{ "disabled-svg": isNextDisabled }]}
>
<path d="m11.293 17.293 1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z" /> <path d="m11.293 17.293 1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z" />
</svg> </svg>
</LinkButton> </LinkButton>