📌 Description
src/features/blog/pages/BlogPage.tsx (with its own test file already) appears to render the full post list via RecentPostsGrid/FeaturedPost with no pagination. As the blog grows, an unpaginated list will keep growing the initial page payload and DOM size indefinitely.
🧩 Requirements and context
- Add pagination (or a 'load more') control to the blog listing, reusing
src/shared/components/ui/pagination.tsx if it fits the existing pattern used on ContributorsPage.tsx/DataPage.tsx.
- Preserve the featured-post treatment for the first item independent of pagination.
- Add a test for page navigation and for the boundary (last page, single-page result set).
Non-functional requirements
- Must be secure, tested, and documented.
- Should be efficient and easy to review.
🛠️ Suggested execution
1. Fork the repo and create a branch
git checkout -b feature/blog-page-pagination
2. Implement changes
- Modify:
src/features/blog/pages/BlogPage.tsx — add pagination state and controls.
- Modify:
src/features/blog/components/RecentPostsGrid.tsx if it needs a paged subset prop.
3. Test and commit
- Cover edge cases: fewer posts than one page (pagination controls should hide), exactly one full page, last page with a partial set, featured post pinned across page changes.
- Include test output and details in the PR description.
Example commit message
feat: add pagination to the blog listing page
✅ Acceptance criteria
🔒 Security notes
None beyond standard regression risk.
📋 Guidelines
- Minimum 95% test coverage
- Clear documentation
- Timeframe: 96 hours
📌 Description
src/features/blog/pages/BlogPage.tsx(with its own test file already) appears to render the full post list viaRecentPostsGrid/FeaturedPostwith no pagination. As the blog grows, an unpaginated list will keep growing the initial page payload and DOM size indefinitely.🧩 Requirements and context
src/shared/components/ui/pagination.tsxif it fits the existing pattern used onContributorsPage.tsx/DataPage.tsx.Non-functional requirements
🛠️ Suggested execution
1. Fork the repo and create a branch
2. Implement changes
src/features/blog/pages/BlogPage.tsx— add pagination state and controls.src/features/blog/components/RecentPostsGrid.tsxif it needs a paged subset prop.3. Test and commit
npm test -- run BlogPageExample commit message
✅ Acceptance criteria
🔒 Security notes
None beyond standard regression risk.
📋 Guidelines