diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-07-23 15:31:45 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-07-23 15:31:45 +0200 |
| commit | baac7d6eeaf522ff5faa28906cb1200e60a19c07 (patch) | |
| tree | 1fd9f74eb0cdbabaae24a88406d82dfb9b589ba5 /src/utils/hooks/use-article.tsx | |
| parent | de9a9eac060974a7878f2bb5577f2b135596a555 (diff) | |
fix(article): prevent TypeError on build
By switching to custom hooks for revalidating articles and comments,
everything was working on development mode but articles failed to build
for production.
Diffstat (limited to 'src/utils/hooks/use-article.tsx')
| -rw-r--r-- | src/utils/hooks/use-article.tsx | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/utils/hooks/use-article.tsx b/src/utils/hooks/use-article.tsx index 3a173dd..6281a54 100644 --- a/src/utils/hooks/use-article.tsx +++ b/src/utils/hooks/use-article.tsx @@ -5,16 +5,26 @@ import { Article } from '@ts/types/app'; import { RawArticle } from '@ts/types/raw-data'; import useSWR from 'swr'; +export type UseArticleConfig = { + fallback?: Article; + slug?: string; +}; + /** * Retrieve an article by slug. * * @param {string} slug - The article slug. * @param {Article} fallback - A fallback article. - * @returns {Article} The matching article. + * @returns {Article|undefined} The matching article if it exists. */ -const useArticle = (slug: string, fallback: Article): Article => { +const useArticle = ({ + slug, + fallback, +}: UseArticleConfig): Article | undefined => { const { data } = useSWR( - { api: getAPIUrl(), query: articleBySlugQuery, variables: { slug } }, + slug + ? { api: getAPIUrl(), query: articleBySlugQuery, variables: { slug } } + : null, fetchAPI<RawArticle, typeof articleBySlugQuery> ); |
