From a3eb518dcccaebd0f48c708c189ad2fcb07f0f73 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Sun, 21 Aug 2022 13:50:18 +0200 Subject: fix(comments): load all comments on a post Previously, only the first 10 comments was loaded. So I update the fetching method to retrieve all the comments on a post. Also, I choose to order comments on client side because of a bug with WPGraphQL. Finally, I renamed the Comment type to SingleComment to avoid conflict with existing types. --- src/ts/types/app.ts | 4 ++-- src/ts/types/graphql/queries.ts | 4 ++-- src/ts/types/raw-data.ts | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/ts') diff --git a/src/ts/types/app.ts b/src/ts/types/app.ts index 7bf1541..c11c31b 100644 --- a/src/ts/types/app.ts +++ b/src/ts/types/app.ts @@ -39,13 +39,13 @@ export type CommentMeta = { date: string; }; -export type Comment = { +export type SingleComment = { approved: boolean; content: string; id: number; meta: CommentMeta; parentId?: number; - replies: Comment[]; + replies: SingleComment[]; }; export type Dates = { diff --git a/src/ts/types/graphql/queries.ts b/src/ts/types/graphql/queries.ts index cc7b62b..c29eeb3 100644 --- a/src/ts/types/graphql/queries.ts +++ b/src/ts/types/graphql/queries.ts @@ -96,7 +96,7 @@ export type QueriesResponseMap = { [articlesEndCursorQuery]: ArticlesResponse; [articlesQuery]: ArticlesResponse>; [articlesSlugQuery]: ArticlesResponse>; - [commentsQuery]: CommentsResponse>; + [commentsQuery]: CommentsResponse>; [thematicBySlugQuery]: ThematicResponse; [thematicsListQuery]: ThematicsResponse>; [thematicsSlugQuery]: ThematicsResponse>; @@ -128,7 +128,7 @@ export type QueriesInputMap = { [articlesEndCursorQuery]: QueryEdges & Search; [articlesQuery]: QueryEdges & Search; [articlesSlugQuery]: QueryEdges & Search; - [commentsQuery]: ContentId; + [commentsQuery]: ContentId & QueryEdges; [thematicBySlugQuery]: Slug; [thematicsListQuery]: QueryEdges & Search; [thematicsSlugQuery]: QueryEdges & Search; diff --git a/src/ts/types/raw-data.ts b/src/ts/types/raw-data.ts index ae7f7c6..022016e 100644 --- a/src/ts/types/raw-data.ts +++ b/src/ts/types/raw-data.ts @@ -44,6 +44,12 @@ export type RawComment = { parentDatabaseId: number; }; +export type RawCommentsPage = { + comments: RawComment[]; + hasNextPage: boolean; + endCursor: string; +}; + export type RawCover = { altText: string; mediaDetails: { -- cgit v1.2.3