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 (
<>
>
);
}