From f650915832d0a5599d5d446ef51f1283521d78a3 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sat, 5 Aug 2023 16:21:24 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Add=20fallback=20head=20ti?= =?UTF-8?q?tle=20for=20board=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout/Meta/BoardHeadOverride.tsx | 15 +++++++-------- src/tools/shared/strings.ts | 4 ++++ 2 files changed, 11 insertions(+), 8 deletions(-) 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); +};