From 2ff898626c5c0abc6b8195224067b992403e313b Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Sat, 18 Dec 2021 16:07:44 +0100 Subject: chore: add subject view --- src/ts/types/taxonomies.ts | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'src/ts/types') diff --git a/src/ts/types/taxonomies.ts b/src/ts/types/taxonomies.ts index d090e2d..a8c372c 100644 --- a/src/ts/types/taxonomies.ts +++ b/src/ts/types/taxonomies.ts @@ -1,5 +1,5 @@ import { ArticlePreview, ArticlePreviewResponse } from './articles'; -import { Cover } from './cover'; +import { Cover, CoverResponse } from './cover'; type TaxonomyPreview = { databaseId: number; @@ -17,7 +17,7 @@ export type Taxonomy = TaxonomyPreview & { }; export type SubjectPreview = TaxonomyPreview & { - cover: Cover; + featuredImage: Cover; }; export type ThematicPreview = TaxonomyPreview; @@ -42,7 +42,7 @@ export type AllTaxonomiesSlug = { slug: string; }; -export type AllTaxonomiesSlugResponse = { +export type AllThematicsSlugResponse = { thematics: { nodes: AllTaxonomiesSlug[]; }; @@ -59,3 +59,38 @@ export type FetchThematicByReturn = ( export type GetTaxonomyByReturn = (slug: string) => Promise; export type FetchAllTaxonomiesSlugReturn = () => Promise; + +export type Subject = Taxonomy & { + featuredImage: Cover; + officialWebsite: string; +}; + +export type SubjectResponse = SubjectPreview & { + acfSubjects: { + postsInSubject: ArticlePreviewResponse[]; + }; + contentParts: { + afterMore: string; + beforeMore: string; + }; + date: string; + featuredImage: CoverResponse; + modified: string; + officialWebsite: string; +}; + +export type SubjectProps = { + subject: Subject; +}; + +export type SubjectByResponse = { + subjectBy: SubjectResponse; +}; + +export type FetchSubjectByReturn = (slug: string) => Promise; + +export type AllSubjectsSlugResponse = { + subjects: { + nodes: AllTaxonomiesSlug[]; + }; +}; -- cgit v1.2.3