diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-12-07 18:48:53 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-12-08 19:13:47 +0100 |
| commit | d375e5c9f162cbd84a6e6462977db56519d09f75 (patch) | |
| tree | aed9bc81c426e3e9fb60292cb244613cb8083dea /src/utils/helpers/strings.ts | |
| parent | b8eb008dd5927fb736e56699637f5f8549965eae (diff) | |
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
Diffstat (limited to 'src/utils/helpers/strings.ts')
| -rw-r--r-- | src/utils/helpers/strings.ts | 6 |
1 files changed, 4 insertions, 2 deletions
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 = <T extends string>(text: T): Capitalize<T> => + text.replace(/^\w/, (firstLetter) => + firstLetter.toUpperCase() + ) as Capitalize<T>; /** * Convert a text from kebab case (foo-bar) to camel case (fooBar). |
