--- interface Props { title?: string; description?: string; image?: string; isWhitelabel?: boolean; } import { metaData } from "../config"; import { SEO } from "astro-seo"; import { JoyUIRootIsland } from "./Components" import { useHtmlThemeAttr } from "../hooks/useHtmlThemeAttr"; import { usePrimeReactThemeSwitcher } from "../hooks/usePrimeReactThemeSwitcher"; const { title, description, image, isWhitelabel } = Astro.props; const { url } = Astro; const trimmedTitle = title?.trim(); const seoTitle = trimmedTitle || metaData.title; const shareTitle = isWhitelabel ? (trimmedTitle || (metaData.shareTitle ?? metaData.title)) : (trimmedTitle ? `${trimmedTitle} | ${metaData.title}` : (metaData.shareTitle ?? metaData.title)); const seoTitleTemplate = isWhitelabel ? "%s" : (trimmedTitle ? `%s | ${metaData.title}` : "%s"); const shareDescription = isWhitelabel ? trimmedTitle : (description ?? metaData.shareDescription ?? metaData.description); const canonicalUrl = url?.href ?? metaData.baseUrl; const shareImage = new URL(image ?? metaData.ogImage, metaData.baseUrl).toString(); const shareImageAlt = metaData.shareImageAlt ?? metaData.shareTitle ?? metaData.title; ---