import type { NodeByUriQueryResult, NodeSeoFragment } from "#graphql/operations"; export function useNodeSeo(node: NodeByUriQueryResult["nodeByUri"]) { // Check if node has SEO data if (!node || !("seo" in node) || !node.seo) { return; } const { seo } = node as NodeSeoFragment; useSeoMeta({ title: seo?.title || undefined, description: seo?.description || undefined, robots: (seo?.robots || []).join(", "), ogTitle: seo?.openGraph?.title || undefined, ogDescription: seo?.openGraph?.description || undefined, ogImage: seo?.openGraph?.image?.url || undefined, ogUrl: seo?.canonicalUrl || undefined, twitterCard: "summary_large_image", }); }