From d375e5c9f162cbd84a6e6462977db56519d09f75 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 7 Dec 2023 18:48:53 +0100 Subject: refactor(pages): refine Project pages * refactor ProjectOverview component to let consumers handle the value * extract project overview depending on Github to avoid fetching Github API if the project is not on Github * wrap dynamic import in a useMemo hook to avoid infinite rerender * fix table of contents by adding a useMutationObserver hook to refresh headings tree (without it useHeadingsTree is not retriggered once the dynamic import is done) * add Cypress tests --- src/utils/helpers/strings.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/utils/helpers/strings.ts') diff --git a/src/utils/helpers/strings.ts b/src/utils/helpers/strings.ts index b8af61d..1f40b8f 100644 --- a/src/utils/helpers/strings.ts +++ b/src/utils/helpers/strings.ts @@ -23,8 +23,10 @@ export const slugify = (text: string): string => * @param {string} text - A text to capitalize. * @returns {string} The capitalized text. */ -export const capitalize = (text: string): string => - text.replace(/^\w/, (firstLetter) => firstLetter.toUpperCase()); +export const capitalize = (text: T): Capitalize => + text.replace(/^\w/, (firstLetter) => + firstLetter.toUpperCase() + ) as Capitalize; /** * Convert a text from kebab case (foo-bar) to camel case (fooBar). -- cgit v1.2.3