"use client"; import Container from "./components/Container"; import { CardTitle, CardDescription } from "@/components/ui/card"; import { nip19 } from "nostr-tools"; import { toast } from "sonner"; import { copyText } from "@/lib/utils"; import { RenderText } from "../TextRendering"; import { getTagValues, getTagsValues } from "@/lib/nostr/utils"; import ReactPlayer from "react-player"; import { type KindCardProps } from "./"; export default function Kind30311(props: KindCardProps) { const { pubkey, tags } = props; const streamingUrl = getTagValues("streaming", tags) ?? getTagValues("recording", tags); const title = getTagValues("title", tags); const summary = getTagValues("summary", tags); const npub = nip19.npubEncode(pubkey); return ( <Container event={props} actionOptions={[ { label: "View profile", href: `/${npub}`, type: "link", }, { label: "Copy raw data", type: "button", onClick: () => { void copyText(JSON.stringify(props)); toast.success("Copied Text!"); }, }, ]} > <ReactPlayer url={streamingUrl} playing={true} muted={false} controls={true} /> <div className="border-t pt-4"> {!!title && <CardTitle className="text-base">{title}</CardTitle>} {!!summary && <CardDescription>{summary}</CardDescription>} </div> </Container> ); }