aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pages/article/[slug].tsx4
-rw-r--r--src/pages/sujet/[slug].tsx3
-rw-r--r--src/pages/thematique/[slug].tsx3
-rw-r--r--src/services/graphql/fetchers/posts/fetch-all-posts-slugs.ts7
-rw-r--r--src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts9
-rw-r--r--src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts7
6 files changed, 18 insertions, 15 deletions
diff --git a/src/pages/article/[slug].tsx b/src/pages/article/[slug].tsx
index f228ff0..04ae617 100644
--- a/src/pages/article/[slug].tsx
+++ b/src/pages/article/[slug].tsx
@@ -26,6 +26,7 @@ import {
fetchAllPostsSlugs,
fetchCommentsList,
fetchPost,
+ fetchPostsCount,
} from '../../services/graphql';
import styles from '../../styles/pages/article.module.scss';
import type { Article, NextPageWithLayout, SingleComment } from '../../types';
@@ -333,7 +334,8 @@ export const getStaticProps: GetStaticProps<ArticlePageProps> = async ({
};
export const getStaticPaths: GetStaticPaths = async () => {
- const slugs = await fetchAllPostsSlugs();
+ const postsCount = await fetchPostsCount();
+ const slugs = await fetchAllPostsSlugs(postsCount);
const paths = slugs.map((slug) => {
return { params: { slug } };
});
diff --git a/src/pages/sujet/[slug].tsx b/src/pages/sujet/[slug].tsx
index aed7ea9..c63906f 100644
--- a/src/pages/sujet/[slug].tsx
+++ b/src/pages/sujet/[slug].tsx
@@ -231,7 +231,8 @@ export const getStaticProps: GetStaticProps<TopicPageProps> = async ({
};
export const getStaticPaths: GetStaticPaths = async () => {
- const slugs = await fetchAllTopicsSlugs();
+ const topicsCount = await fetchTopicsCount();
+ const slugs = await fetchAllTopicsSlugs(topicsCount);
const paths = slugs.map((slug) => {
return { params: { slug } };
});
diff --git a/src/pages/thematique/[slug].tsx b/src/pages/thematique/[slug].tsx
index a44c98b..f8c3404 100644
--- a/src/pages/thematique/[slug].tsx
+++ b/src/pages/thematique/[slug].tsx
@@ -216,7 +216,8 @@ export const getStaticProps: GetStaticProps<ThematicPageProps> = async ({
};
export const getStaticPaths: GetStaticPaths = async () => {
- const slugs = await fetchAllThematicsSlugs();
+ const thematicsCount = await fetchThematicsCount();
+ const slugs = await fetchAllThematicsSlugs(thematicsCount);
const paths = slugs.map((slug) => {
return { params: { slug } };
});
diff --git a/src/services/graphql/fetchers/posts/fetch-all-posts-slugs.ts b/src/services/graphql/fetchers/posts/fetch-all-posts-slugs.ts
index 28f2bbf..25cc782 100644
--- a/src/services/graphql/fetchers/posts/fetch-all-posts-slugs.ts
+++ b/src/services/graphql/fetchers/posts/fetch-all-posts-slugs.ts
@@ -1,6 +1,5 @@
import type { GraphQLNodes, Nullable, SlugNode } from '../../../../types';
import { fetchGraphQL, getGraphQLUrl } from '../../../../utils/helpers';
-import { fetchPostsCount } from './fetch-posts-count';
type PostsSlugsResponse = {
posts: Nullable<GraphQLNodes<SlugNode>>;
@@ -17,14 +16,14 @@ const postsSlugsQuery = `query PostsSlugs($first: Int) {
/**
* Retrieve the WordPress posts slugs.
*
+ * @param {number} count - The number of posts slugs to retrieve.
* @returns {Promise<string[]>} The posts slugs.
*/
-export const fetchAllPostsSlugs = async (): Promise<string[]> => {
- const postsCount = await fetchPostsCount();
+export const fetchAllPostsSlugs = async (count: number): Promise<string[]> => {
const response = await fetchGraphQL<PostsSlugsResponse>({
query: postsSlugsQuery,
url: getGraphQLUrl(),
- variables: { first: postsCount },
+ variables: { first: count },
});
if (!response.posts)
diff --git a/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts b/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
index 739c009..c44bb6d 100644
--- a/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
+++ b/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
@@ -1,6 +1,5 @@
import type { GraphQLNodes, Nullable, SlugNode } from '../../../../types';
import { fetchGraphQL, getGraphQLUrl } from '../../../../utils/helpers';
-import { fetchThematicsCount } from './fetch-thematics-count';
type ThematicsSlugsResponse = {
thematics: Nullable<GraphQLNodes<SlugNode>>;
@@ -17,14 +16,16 @@ const thematicsSlugsQuery = `query ThematicsSlugs($first: Int) {
/**
* Retrieve the WordPress thematics slugs.
*
+ * @param {number} count - The number of thematics slugs to retrieve.
* @returns {Promise<string[]>} The thematics slugs.
*/
-export const fetchAllThematicsSlugs = async (): Promise<string[]> => {
- const thematicsCount = await fetchThematicsCount();
+export const fetchAllThematicsSlugs = async (
+ count: number
+): Promise<string[]> => {
const response = await fetchGraphQL<ThematicsSlugsResponse>({
query: thematicsSlugsQuery,
url: getGraphQLUrl(),
- variables: { first: thematicsCount },
+ variables: { first: count },
});
if (!response.thematics)
diff --git a/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts b/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
index eab4a7c..1df0039 100644
--- a/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
+++ b/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
@@ -1,6 +1,5 @@
import type { GraphQLNodes, Nullable, SlugNode } from '../../../../types';
import { fetchGraphQL, getGraphQLUrl } from '../../../../utils/helpers';
-import { fetchTopicsCount } from './fetch-topics-count';
type TopicsSlugsResponse = {
topics: Nullable<GraphQLNodes<SlugNode>>;
@@ -17,14 +16,14 @@ const topicsSlugsQuery = `query TopicsSlugs($first: Int) {
/**
* Retrieve the WordPress topics slugs.
*
+ * @param {number} count - The number of topics slugs to retrieve.
* @returns {Promise<string[]>} The topics slugs.
*/
-export const fetchAllTopicsSlugs = async (): Promise<string[]> => {
- const topicsCount = await fetchTopicsCount();
+export const fetchAllTopicsSlugs = async (count: number): Promise<string[]> => {
const response = await fetchGraphQL<TopicsSlugsResponse>({
query: topicsSlugsQuery,
url: getGraphQLUrl(),
- variables: { first: topicsCount },
+ variables: { first: count },
});
if (!response.topics)