Skip to content

Commit

Permalink
chore: Format
Browse files Browse the repository at this point in the history
  • Loading branch information
carina-akaia committed Nov 27, 2024
1 parent ab617f5 commit 9c8f719
Showing 1 changed file with 54 additions and 58 deletions.
112 changes: 54 additions & 58 deletions src/modules/project/components/ProjectDiscovery.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,64 +73,60 @@ export const ProjectDiscovery = () => {
[projectCategoryFilter, projectStatusFilter, setProjectCategoryFilter, setProjectStatusFilter],
);

const pageNumberButtons = useMemo(
() =>
(() => {
const totalPages = Math.ceil(totalProjectCount / 30);
const pages: (number | "ellipsis")[] = [];

if (totalPages <= 7) {
// Show all pages if total is 7 or less
pages.push(...Array.from({ length: totalPages }, (_, i) => i + 1));
} else {
// Always show first page
pages.push(1);

if (projectLookupPageNumber <= 4) {
// Near start
pages.push(2, 3, 4, 5, "ellipsis", totalPages);
} else if (projectLookupPageNumber >= totalPages - 3) {
// Near end
pages.push(
"ellipsis",
totalPages - 4,
totalPages - 3,
totalPages - 2,
totalPages - 1,
totalPages,
);
} else {
// Middle
pages.push(
"ellipsis",
projectLookupPageNumber - 1,
projectLookupPageNumber,
projectLookupPageNumber + 1,
"ellipsis",
totalPages,
);
}
}

return pages.map((page, i) => (
<PaginationItem key={i}>
{page === "ellipsis" ? (
<PaginationEllipsis />
) : (
<PaginationLink
onClick={() => setProjectLookupPageNumber(page)}
className={cn({
"border-black font-bold": projectLookupPageNumber === page,
})}
>
{page}
</PaginationLink>
)}
</PaginationItem>
));
})(),
[projectLookupPageNumber, setProjectLookupPageNumber, totalProjectCount],
);
const pageNumberButtons = useMemo(() => {
const totalPages = Math.ceil(totalProjectCount / 30);
const pages: (number | "ellipsis")[] = [];

if (totalPages <= 7) {
// Show all pages if total is 7 or less
pages.push(...Array.from({ length: totalPages }, (_, i) => i + 1));
} else {
// Always show first page
pages.push(1);

if (projectLookupPageNumber <= 4) {
// Near start
pages.push(2, 3, 4, 5, "ellipsis", totalPages);
} else if (projectLookupPageNumber >= totalPages - 3) {
// Near end
pages.push(
"ellipsis",
totalPages - 4,
totalPages - 3,
totalPages - 2,
totalPages - 1,
totalPages,
);
} else {
// Middle
pages.push(
"ellipsis",
projectLookupPageNumber - 1,
projectLookupPageNumber,
projectLookupPageNumber + 1,
"ellipsis",
totalPages,
);
}
}

return pages.map((page, i) => (
<PaginationItem key={i}>
{page === "ellipsis" ? (
<PaginationEllipsis />
) : (
<PaginationLink
onClick={() => setProjectLookupPageNumber(page)}
className={cn({
"border-black font-bold": projectLookupPageNumber === page,
})}
>
{page}
</PaginationLink>
)}
</PaginationItem>
));
}, [projectLookupPageNumber, setProjectLookupPageNumber, totalProjectCount]);

return (
<div className="md:px-10 md:py-12 flex w-full flex-col px-2 py-10">
Expand Down

0 comments on commit 9c8f719

Please sign in to comment.