diff --git a/src/components/layout/Meta/BoardHeadOverride.tsx b/src/components/layout/Meta/BoardHeadOverride.tsx index f91e338f2..aa631c91a 100644 --- a/src/components/layout/Meta/BoardHeadOverride.tsx +++ b/src/components/layout/Meta/BoardHeadOverride.tsx @@ -1,23 +1,22 @@ import Head from 'next/head'; import React from 'react'; +import { firstUpperCase } from '~/tools/shared/strings'; import { useConfigContext } from '../../../config/provider'; export const BoardHeadOverride = () => { - const { config } = useConfigContext(); + const { config, name } = useConfigContext(); - if (!config) return null; + if (!config || !name) return null; const { metaTitle, faviconUrl } = config.settings.customization; + const fallbackTitle = `${firstUpperCase(name)} Board • Homarr`; + const title = metaTitle && metaTitle.length > 0 ? metaTitle : fallbackTitle; return ( - {metaTitle && metaTitle.length > 0 && ( - <> - {metaTitle} - - - )} + {title} + {faviconUrl && faviconUrl.length > 0 && ( <> diff --git a/src/tools/shared/strings.ts b/src/tools/shared/strings.ts index a3c70dc4c..086edcae5 100644 --- a/src/tools/shared/strings.ts +++ b/src/tools/shared/strings.ts @@ -8,3 +8,7 @@ export const trimStringEnding = (original: string, toTrimIfExists: string[]) => return original; }; + +export const firstUpperCase = (str: string) => { + return str.charAt(0).toUpperCase() + str.slice(1); +};