import { DetailedHTMLProps, MetaHTMLAttributes } from 'react'
import Head from 'next/head'
import { webBaseURL } from '../../lib/appConfig'
type MetaTag = DetailedHTMLProps<
MetaHTMLAttributes,
HTMLMetaElement
>
export type PageMetaDataProps = {
path: string
title: string
description?: string
ogImage?: string
ogImageType?: string
metaTags?: MetaTag[]
}
function openGraphType(ogImage: string | null): string {
if (!ogImage) return ''
if (typeof ogImage !== 'string') return ''
if (ogImage.endsWith('.png')) return 'image/png'
if (ogImage.endsWith('.jpg')) return 'image/jpeg'
if (ogImage.endsWith('.jpeg')) return 'image/jpeg'
return ''
}
export function PageMetaData(props: PageMetaDataProps): JSX.Element {
return (
{props.ogImage && (
<>
>
)}
{props.ogImage && (
)}
{props.ogImage && (
)}
{props.ogImage && (
)}
{props.title && (
<>
>
)}
{props.title && {props.title}}
{props.description && (
<>
>
)}
{props.path && (
)}
{props.path && (
)}
{/* Custom additional meta tags */}
{props.metaTags?.map((metatag, i) => (
))}
)
}