perf(blog): optimize hover performance on paginated blog page #2005
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.
What kind of change does this PR introduce?
**Issue Number:#1965
Closes #1965
Screenshots/videos:
Before:
After:
Screen.Recording.2025-12-16.at.12.02.28.AM.mov
(No visual UI changes)
If relevant, did you update the documentation?
Summary
Hover animations on the Blog page felt delayed on paginated views (page 2 and beyond).
This was caused by runtime-heavy operations being executed during render, including
reading-time calculations for each blog post.
This PR improves performance by:
Moving reading-time calculation to build time (
getStaticProps)Reading time was previously computed during render for each blog card.
This calculation is now performed once at build time and passed as static
data, eliminating repeated runtime work on the client.
Reducing main-thread work on paginated pages
On page 2 and beyond, multiple blog cards were rendered simultaneously,
causing expensive computations during render and resulting in delayed
hover interactions. By precomputing data, render work is minimized and
hover responsiveness is improved.
Preserving existing hover styles and UI behavior
No CSS, animation, or interaction logic was modified. Hover behavior
remains exactly the same; only the underlying performance has been
optimized.
As a result, reading time is now computed at build time to avoid repeated runtime
calculations during pagination, improving hover responsiveness without
changing UI behavior.
Does this PR introduce a breaking change?
Checklist