From fa6adedc42e9c6ec39cc30df16b54900c220b094 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Mon, 20 Dec 2021 00:15:20 +0100 Subject: refactor: rewrite types and services I was repeating myself a lot in services. So I rewrited the different functions to improve readability and I extracted some formatting functions to put them in utils. I also rewrited/reorganized some types to keep consistent names. --- src/components/CommentForm/CommentForm.tsx | 21 +- src/components/PostHeader/PostHeader.tsx | 11 +- src/components/PostPreview/PostPreview.tsx | 6 +- src/pages/article/[slug].tsx | 9 +- src/pages/blog/index.tsx | 2 +- src/pages/contact.tsx | 10 +- src/pages/cv.tsx | 4 +- src/pages/index.tsx | 2 +- src/pages/mentions-legales.tsx | 4 +- src/pages/sujet/[slug].tsx | 11 +- src/pages/thematique/[slug].tsx | 10 +- src/services/graphql/api.ts | 27 ++ src/services/graphql/blog.ts | 158 --------- src/services/graphql/client.ts | 11 - src/services/graphql/comments.ts | 68 ---- src/services/graphql/contact.ts | 49 --- src/services/graphql/homepage.ts | 36 --- src/services/graphql/mutations.ts | 82 +++++ src/services/graphql/pages.ts | 60 ---- src/services/graphql/post.ts | 150 --------- src/services/graphql/queries.ts | 496 +++++++++++++++++++++++++++++ src/services/graphql/taxonomies.ts | 348 -------------------- src/ts/types/app.ts | 75 +++++ src/ts/types/articles.ts | 90 +++--- src/ts/types/blog.ts | 48 +-- src/ts/types/comments.ts | 38 ++- src/ts/types/contact.ts | 16 +- src/ts/types/cover.ts | 2 +- src/ts/types/homepage.ts | 15 +- src/ts/types/pages.ts | 16 +- src/ts/types/pagination.ts | 4 - src/ts/types/taxonomies.ts | 114 ++++--- src/utils/helpers/format.ts | 226 +++++++++++++ src/utils/helpers/sort.ts | 4 +- 34 files changed, 1106 insertions(+), 1117 deletions(-) create mode 100644 src/services/graphql/api.ts delete mode 100644 src/services/graphql/blog.ts delete mode 100644 src/services/graphql/client.ts delete mode 100644 src/services/graphql/comments.ts delete mode 100644 src/services/graphql/contact.ts delete mode 100644 src/services/graphql/homepage.ts create mode 100644 src/services/graphql/mutations.ts delete mode 100644 src/services/graphql/pages.ts delete mode 100644 src/services/graphql/post.ts create mode 100644 src/services/graphql/queries.ts delete mode 100644 src/services/graphql/taxonomies.ts delete mode 100644 src/ts/types/pagination.ts create mode 100644 src/utils/helpers/format.ts (limited to 'src') diff --git a/src/components/CommentForm/CommentForm.tsx b/src/components/CommentForm/CommentForm.tsx index 988468c..b2d538f 100644 --- a/src/components/CommentForm/CommentForm.tsx +++ b/src/components/CommentForm/CommentForm.tsx @@ -2,7 +2,7 @@ import { ButtonSubmit } from '@components/Buttons'; import { Form, FormItem, Input, TextArea } from '@components/Form'; import Notice from '@components/Notice/Notice'; import { t } from '@lingui/macro'; -import { createComment } from '@services/graphql/comments'; +import { createComment } from '@services/graphql/mutations'; import { useState } from 'react'; const CommentForm = ({ @@ -30,15 +30,16 @@ const CommentForm = ({ e.preventDefault(); if (name && email && message && articleId) { - const createdComment = await createComment( - name, - email, - website, - message, - parentId, - articleId, - 'createComment' - ); + const data = { + author: name, + authorEmail: email, + authorUrl: website, + content: message, + parent: parentId, + commentOn: articleId, + mutationId: 'createComment', + }; + const createdComment = await createComment(data); if (createdComment.success) setIsSuccess(true); if (isSuccess) { diff --git a/src/components/PostHeader/PostHeader.tsx b/src/components/PostHeader/PostHeader.tsx index 5c5aff4..3ee6705 100644 --- a/src/components/PostHeader/PostHeader.tsx +++ b/src/components/PostHeader/PostHeader.tsx @@ -1,5 +1,6 @@ import { t } from '@lingui/macro'; -import { ArticleAuthor, ArticleDates } from '@ts/types/articles'; +import { Dates } from '@ts/types/app'; +import { ArticleAuthor } from '@ts/types/articles'; import { ThematicPreview } from '@ts/types/taxonomies'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -7,13 +8,13 @@ import styles from './PostHeader.module.scss'; const PostHeader = ({ author, - date, + dates, intro, title, thematics, }: { author: ArticleAuthor; - date: ArticleDates; + dates: Dates; intro: string; title: string; thematics: ThematicPreview[]; @@ -52,9 +53,9 @@ const PostHeader = ({

{title}