diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-03-09 00:38:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-09 00:38:02 +0100 |
| commit | 5b6639a3cf9b6c63045cb82e6ef1a43b0742c367 (patch) | |
| tree | 4e7cebf9f6b094d405e96febe743fea514cfca9f /src/ts | |
| parent | b0d9d8cb1c8c4a4d2b9234bbfdc7195fb563b21a (diff) | |
feat: provide pagination for users with js disabled (#13)
* chore: add a Pagination component
* chore: add blog pages
* chore: fallback to page number based navigation if JS disabled
* chore: update translation
Diffstat (limited to 'src/ts')
| -rw-r--r-- | src/ts/types/app.ts | 9 | ||||
| -rw-r--r-- | src/ts/types/blog.ts | 10 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/ts/types/app.ts b/src/ts/types/app.ts index 444733c..4243762 100644 --- a/src/ts/types/app.ts +++ b/src/ts/types/app.ts @@ -3,7 +3,7 @@ import { AppProps } from 'next/app'; import { ImageProps } from 'next/image'; import { ReactElement, ReactNode } from 'react'; import { PostBy, TotalArticles } from './articles'; -import { AllPostsSlug, RawPostsList } from './blog'; +import { AllPostsSlug, LastPostCursor, RawPostsList } from './blog'; import { CommentData, CommentsByPostId, CreateComment } from './comments'; import { ContactData, SendEmail } from './contact'; import { @@ -39,6 +39,8 @@ export type VariablesType<T> = T extends PostBy | TopicBy | ThematicBy ? { id: number } : T extends CreateComment ? CommentData + : T extends LastPostCursor + ? { first: number } : T extends SendEmail ? ContactData : null; @@ -51,6 +53,7 @@ export type RequestType = | AllThematicsSlug | CommentsByPostId | CreateComment + | LastPostCursor | PostBy | RawPostsList | SendEmail @@ -109,6 +112,10 @@ export type PageInfo = { total: number; }; +export type ParamsIds = { + params: { id: string }; +}; + export type ParamsSlug = { params: { slug: string }; }; diff --git a/src/ts/types/blog.ts b/src/ts/types/blog.ts index 8b48264..05bdd1f 100644 --- a/src/ts/types/blog.ts +++ b/src/ts/types/blog.ts @@ -19,6 +19,14 @@ export type RawPostsList = { }; }; +export type LastPostCursor = { + posts: { + pageInfo: { + endCursor: string; + }; + }; +}; + export type AllPostsSlug = { posts: { nodes: Slug[]; @@ -28,6 +36,6 @@ export type AllPostsSlug = { export type BlogPageProps = { allThematics: ThematicPreview[]; allTopics: TopicPreview[]; - firstPosts: PostsList; + posts: PostsList; totalPosts: number; }; |
