import type { ResolvedMetadata } from "../types/metadata-interface"; import type { TwitterAppDescriptor } from "../types/twitter-types"; import React from "react"; import { Meta, MultiMeta } from "./meta"; export function OpenGraphMetadata({ openGraph, }: { openGraph: ResolvedMetadata["openGraph"]; }) { if (!openGraph) { return null; } let typedOpenGraph; if ("type" in openGraph) { switch (openGraph.type) { case "website": typedOpenGraph = ; break; case "article": typedOpenGraph = ( <> ); break; case "book": typedOpenGraph = ( <> ); break; case "profile": typedOpenGraph = ( <> ); break; case "music.song": typedOpenGraph = ( <> ); break; case "music.album": typedOpenGraph = ( <> ); break; case "music.playlist": typedOpenGraph = ( <> ); break; case "music.radio_station": typedOpenGraph = ( <> ); break; case "video.movie": typedOpenGraph = ( <> ); break; case "video.episode": typedOpenGraph = ( <> ); break; case "video.tv_show": typedOpenGraph = ; break; case "video.other": typedOpenGraph = ; break; default: throw new Error("Invalid OpenGraph type: " + (openGraph as any).type); } } return ( <> {typedOpenGraph} ); } function TwitterAppItem({ app, type, }: { app: TwitterAppDescriptor; type: "iphone" | "ipad" | "googleplay"; }) { return ( <> ); } export function TwitterMetadata({ twitter, }: { twitter: ResolvedMetadata["twitter"]; }) { if (!twitter) return null; const { card } = twitter; return ( <> {card === "player" ? twitter.players.map((player, index) => ( )) : null} {card === "app" ? ( <> ) : null} ); } export function AppLinksMeta({ appLinks, }: { appLinks: ResolvedMetadata["appLinks"]; }) { if (!appLinks) return null; return ( <> ); }