diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-11-15 12:24:42 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-11-15 17:26:16 +0100 |
| commit | 0f38aee374029213a47ef7c29bd164093fe63c85 (patch) | |
| tree | 290cb6471fdfe81e4c42f4da4729247536b04ee7 /src/pages/blog | |
| parent | be4d907efb4e2fa658baa7c9b276ed282eb920db (diff) | |
refactor(hooks): remove useSettings hook
It does not make sense to re-export an existing object through a hook.
On some pages both the hook and the object was imported...
It is better to use the CONFIG (previously settings) object directly
and by doing it we avoid potential errors because of conditional hooks.
Diffstat (limited to 'src/pages/blog')
| -rw-r--r-- | src/pages/blog/index.tsx | 24 | ||||
| -rw-r--r-- | src/pages/blog/page/[number].tsx | 27 |
2 files changed, 20 insertions, 31 deletions
diff --git a/src/pages/blog/index.tsx b/src/pages/blog/index.tsx index e5fc2c2..5a13e3e 100644 --- a/src/pages/blog/index.tsx +++ b/src/pages/blog/index.tsx @@ -33,7 +33,7 @@ import type { RawThematicPreview, RawTopicPreview, } from '../../types'; -import { settings } from '../../utils/config'; +import { CONFIG } from '../../utils/config'; import { ROUTES } from '../../utils/constants'; import { getBlogSchema, @@ -43,12 +43,7 @@ import { getWebPageSchema, } from '../../utils/helpers'; import { loadTranslation, type Messages } from '../../utils/helpers/server'; -import { - useBreadcrumb, - useIsMounted, - usePostsList, - useSettings, -} from '../../utils/hooks'; +import { useBreadcrumb, useIsMounted, usePostsList } from '../../utils/hooks'; type BlogPageProps = { articles: EdgesResponse<RawArticle>; @@ -79,7 +74,6 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ }); const postsListRef = useRef<HTMLDivElement>(null); const isMounted = useIsMounted(postsListRef); - const { blog, website } = useSettings(); const { asPath } = useRouter(); const page = { title: intl.formatMessage( @@ -88,9 +82,9 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ description: 'BlogPage: SEO - Page title', id: '+Y+tLK', }, - { websiteName: website.name } + { websiteName: CONFIG.name } ), - url: `${website.url}${asPath}`, + url: `${CONFIG.url}${asPath}`, }; const pageDescription = intl.formatMessage( { @@ -99,17 +93,17 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ description: 'BlogPage: SEO - Meta description', id: '18h/t0', }, - { websiteName: website.name } + { websiteName: CONFIG.name } ); const webpageSchema = getWebPageSchema({ description: pageDescription, - locale: website.locales.default, + locale: CONFIG.locales.defaultLocale, slug: asPath, title, }); const blogSchema = getBlogSchema({ isSinglePage: false, - locale: website.locales.default, + locale: CONFIG.locales.defaultLocale, slug: asPath, }); const schemaJsonLd = getSchemaJson([webpageSchema, blogSchema]); @@ -126,7 +120,7 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ } = usePostsList({ fallback: [articles], fetcher: getArticles, - perPage: blog.postsPerPage, + perPage: CONFIG.postsPerPage, }); const thematicsListTitle = intl.formatMessage({ @@ -315,7 +309,7 @@ BlogPage.getLayout = (page) => export const getStaticProps: GetStaticProps<BlogPageProps> = async ({ locale, }) => { - const articles = await getArticles({ first: settings.postsPerPage }); + const articles = await getArticles({ first: CONFIG.postsPerPage }); const totalArticles = await getTotalArticles(); const totalThematics = await getTotalThematics(); const thematics = await getThematicsPreview({ first: totalThematics }); diff --git a/src/pages/blog/page/[number].tsx b/src/pages/blog/page/[number].tsx index 5f6a2d6..49b5eb4 100644 --- a/src/pages/blog/page/[number].tsx +++ b/src/pages/blog/page/[number].tsx @@ -33,7 +33,8 @@ import type { RawThematicPreview, RawTopicPreview, } from '../../../types'; -import { settings } from '../../../utils/config'; +import { CONFIG } from '../../../utils/config'; +import { ROUTES } from '../../../utils/constants'; import { getBlogSchema, getLinksItemData, @@ -43,12 +44,7 @@ import { getWebPageSchema, } from '../../../utils/helpers'; import { loadTranslation, type Messages } from '../../../utils/helpers/server'; -import { - useBreadcrumb, - useRedirection, - useSettings, -} from '../../../utils/hooks'; -import { ROUTES } from 'src/utils/constants'; +import { useBreadcrumb, useRedirection } from '../../../utils/hooks'; type BlogPageProps = { articles: EdgesResponse<RawArticle>; @@ -96,11 +92,10 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ url: `${ROUTES.BLOG}/page/${pageNumber}`, }); - const { website } = useSettings(); const { asPath } = useRouter(); const page = { - title: `${pageTitleWithPageNumber} - ${website.name}`, - url: `${website.url}${asPath}`, + title: `${pageTitleWithPageNumber} - ${CONFIG.name}`, + url: `${CONFIG.url}${asPath}`, }; const pageDescription = intl.formatMessage( { @@ -109,17 +104,17 @@ const BlogPage: NextPageWithLayout<BlogPageProps> = ({ description: 'BlogPage: SEO - Meta description', id: '18h/t0', }, - { websiteName: website.name } + { websiteName: CONFIG.name } ); const webpageSchema = getWebPageSchema({ description: pageDescription, - locale: website.locales.default, + locale: CONFIG.locales.defaultLocale, slug: asPath, title, }); const blogSchema = getBlogSchema({ isSinglePage: false, - locale: website.locales.default, + locale: CONFIG.locales.defaultLocale, slug: asPath, }); const schemaJsonLd = getSchemaJson([webpageSchema, blogSchema]); @@ -292,10 +287,10 @@ export const getStaticProps: GetStaticProps<BlogPageProps> = async ({ }) => { const pageNumber = Number((params as BlogPageParams).number); const lastCursor = await getArticlesEndCursor({ - first: settings.postsPerPage * pageNumber, + first: CONFIG.postsPerPage * pageNumber, }); const articles = await getArticles({ - first: settings.postsPerPage, + first: CONFIG.postsPerPage, after: lastCursor, }); const totalArticles = await getTotalArticles(); @@ -319,7 +314,7 @@ export const getStaticProps: GetStaticProps<BlogPageProps> = async ({ export const getStaticPaths: GetStaticPaths = async () => { const totalArticles = await getTotalArticles(); - const totalPages = Math.ceil(totalArticles / settings.postsPerPage); + const totalPages = Math.ceil(totalArticles / CONFIG.postsPerPage); const pagesArray = Array.from( { length: totalPages }, (_, index) => index + 1 |
