@@ -2,22 +2,15 @@ import { cache } from 'react';
22
33import generateBlogData from '@/next-data/generators/blogData.mjs' ;
44import { BLOG_POSTS_PER_PAGE } from '@/next.constants.mjs' ;
5- import type { BlogCategory , BlogPostsRSC , BlogPost } from '@/types' ;
5+ import type { BlogCategory , BlogPostsRSC } from '@/types' ;
66
7- let blogData : {
8- categories : Array < BlogCategory > ;
9- posts : Array < BlogPost > ;
10- } ;
7+ const { categories, posts } = await generateBlogData ( ) ;
118
12- export const provideBlogCategories = cache ( async ( ) => {
13- blogData ??= await generateBlogData ( ) ;
14- return blogData . categories ;
15- } ) ;
9+ export const provideBlogCategories = cache ( ( ) => categories ) ;
1610
1711export const provideBlogPosts = cache (
18- async ( category : BlogCategory ) : Promise < BlogPostsRSC > => {
19- blogData ??= await generateBlogData ( ) ;
20- const categoryPosts = blogData . posts
12+ ( category : BlogCategory ) : BlogPostsRSC => {
13+ const categoryPosts = posts
2114 . filter ( post => post . categories . includes ( category ) )
2215 . sort ( ( a , b ) => b . date . getTime ( ) - a . date . getTime ( ) ) ;
2316
@@ -39,8 +32,8 @@ export const provideBlogPosts = cache(
3932) ;
4033
4134export const providePaginatedBlogPosts = cache (
42- async ( category : BlogCategory , page : number ) : Promise < BlogPostsRSC > => {
43- const { posts, pagination } = await provideBlogPosts ( category ) ;
35+ ( category : BlogCategory , page : number ) : BlogPostsRSC => {
36+ const { posts, pagination } = provideBlogPosts ( category ) ;
4437
4538 // This autocorrects if invalid numbers are given to only allow
4639 // actual valid numbers to be provided
0 commit comments