---
import "../styles/flowbite.css"
import "../styles/global.css"
import "../styles/custom.scss"
import { LANGUAGES_PROD } from "config/config.js"
import config from "@/config/config.json"
import { plainify } from "@/base/strings.js"
import { AstroSeo } from "@astrolib/seo"
import { item_keywords } from '@/base/seo.js'
import StructuredData from './head/ArticleStructuredData.astro'
import Hreflang from '@/components/polymech/hreflang.astro'
import { IComponentConfig } from "@polymech/commons"
export interface Props {
title?: string;
meta_title?: string;
description?: string;
image?: string;
noindex?: boolean;
canonical?: string;
view: string;
path: string;
frontmatter?: {
title?: string;
description?: string;
keywords?: string[];
images?: { url: string; alt?: string }[];
};
}
const env = import.meta.env
const { frontmatter, view, path } = Astro.props as Props;
const item: IComponentConfig = frontmatter as IComponentConfig || {}
const { url } = Astro.request
const REDIRECT = false
const _url = Astro.url
const canonicalUrl = _url.origin
const canonicalURL = new URL(Astro.url.pathname, Astro.site)
const hreflangs = LANGUAGES_PROD.filter((lang)=>lang!==Astro.currentLocale).map((lang) => ({
lang,
url: `${canonicalUrl}/${lang}/${view}/${path}`,
}))
const image = item?.image || config.site.image
const image_url = image.src
const image_alt = image.alt
const title = item?.title as string || config.site.title || ""
const description = item?.description as string || config.metadata.description
const keywords = await item_keywords(item, Astro.currentLocale)
const tracking = config?.tracking?.googleAnalytics || 'G-RW6Q6EG3J0'
---
{tracking && (
)}