feat(blog): add search and pagination functionality #46
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
This commit introduces search functionality to the blog, enabling users to search for specific topics or keywords within blog posts. Additionally, pagination has been implemented to enhance user experience by breaking up long lists of posts into manageable segments. Thorough testing and coverage have been applied to ensure everything works as expected. The design methodology adheres to TailNext's design principles, and the code architecture maintains alignment with the existing structure.
The techniques used to implement this feature include Next.js searchParams and the query-string package.
Next.js useSearchParams function
query-string package
Here is a demonstration of how it works in this video:
https://www.loom.com/share/1a735796b8d7400bb4b461ffef37cdba
(I also added an API doc for the functions within the utils.ts file.)
Important
The number of posts per page can be managed via the variable
POSTS_PER_PAGE
, defined as a constant at line 32 withinsrc/utils/posts.ts
file.