diff options
Diffstat (limited to 'src/utils/hooks/use-article.tsx')
| -rw-r--r-- | src/utils/hooks/use-article.tsx | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/utils/hooks/use-article.tsx b/src/utils/hooks/use-article.tsx deleted file mode 100644 index 86d8e38..0000000 --- a/src/utils/hooks/use-article.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import useSWR from 'swr'; -import { - articleBySlugQuery, - fetchAPI, - getArticleFromRawData, -} from '../../services/graphql'; -import { type Article, type RawArticle } from '../../types'; - -export type UseArticleConfig = { - /** - * A fallback article - */ - fallback?: Article; - /** - * The article slug - */ - slug?: string; -}; - -/** - * Retrieve an article by slug. - * - * @param {UseArticleConfig} config - The config. - * @returns {Article|undefined} The matching article if it exists. - */ -export const useArticle = ({ - slug, - fallback, -}: UseArticleConfig): Article | undefined => { - const { data } = useSWR( - slug ? { query: articleBySlugQuery, variables: { slug } } : null, - fetchAPI<RawArticle, typeof articleBySlugQuery> - ); - - return data ? getArticleFromRawData(data.post) : fallback; -}; |
