From 70b4f633a6fbedb58c8b9134ac64ede854d489de Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Mon, 20 Nov 2023 12:27:46 +0100
Subject: refactor(components): replace PageLayout template with Page

* split pages in smaller components (it is both easier to maintain and
more readable, we avoid the use of fragments in pages directory)
* extract breadcrumbs from article tag (the navigation is not related
to the page contents)
* remove useReadingTime hook
* remove layout options except `isHome`
---
 src/utils/hooks/use-reading-time.tsx | 56 ------------------------------------
 1 file changed, 56 deletions(-)
 delete mode 100644 src/utils/hooks/use-reading-time.tsx

(limited to 'src/utils/hooks/use-reading-time.tsx')

diff --git a/src/utils/hooks/use-reading-time.tsx b/src/utils/hooks/use-reading-time.tsx
deleted file mode 100644
index 3a812f6..0000000
--- a/src/utils/hooks/use-reading-time.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { useIntl } from 'react-intl';
-
-/**
- * Retrieve the estimated reading time by words count.
- *
- * @param {number} wordsCount - The number of words.
- * @returns {string} The estimated reading time.
- */
-export const useReadingTime = (
-  wordsCount: number,
-  onlyMinutes: boolean = false
-): string => {
-  const intl = useIntl();
-  const wordsPerMinute = 245;
-  const wordsPerSecond = wordsPerMinute / 60;
-  const estimatedTimeInSeconds = wordsCount / wordsPerSecond;
-
-  if (onlyMinutes) {
-    const estimatedTimeInMinutes = Math.round(estimatedTimeInSeconds / 60);
-
-    return intl.formatMessage(
-      {
-        defaultMessage: '{minutesCount} minutes',
-        description: 'useReadingTime: rounded minutes count',
-        id: 's1i43J',
-      },
-      { minutesCount: estimatedTimeInMinutes }
-    );
-  } else {
-    const estimatedTimeInMinutes = Math.floor(estimatedTimeInSeconds / 60);
-
-    if (estimatedTimeInMinutes <= 0) {
-      return intl.formatMessage(
-        {
-          defaultMessage: '{count} seconds',
-          description: 'useReadingTime: seconds count',
-          id: 'i7Wq3G',
-        },
-        { count: estimatedTimeInSeconds.toFixed(0) }
-      );
-    }
-
-    const remainingSeconds = Math.round(
-      estimatedTimeInSeconds - estimatedTimeInMinutes * 60
-    ).toFixed(0);
-
-    return intl.formatMessage(
-      {
-        defaultMessage: '{minutesCount} minutes {secondsCount} seconds',
-        description: 'useReadingTime: minutes + seconds count',
-        id: 'OevMeU',
-      },
-      { minutesCount: estimatedTimeInMinutes, secondsCount: remainingSeconds }
-    );
-  }
-};
-- 
cgit v1.2.3

