import "./LiveStreams.css"; import { NostrEvent, NostrLink } from "@snort/system"; import { findTag } from "SnortUtils"; import { CSSProperties, useMemo } from "react"; import { Link } from "react-router-dom"; import useImgProxy from "Hooks/useImgProxy"; import Icon from "Icons/Icon"; export function LiveStreams({ evs }: { evs: Array }) { const streams = useMemo(() => { return [...evs].sort((a, b) => { const aStarts = Number(findTag(a, "starts") ?? a.created_at); const bStarts = Number(findTag(b, "starts") ?? b.created_at); return aStarts > bStarts ? -1 : 1; }); }, [evs]); if (streams.length === 0) return null; return (
{streams.map(v => ( ))}
); } function LiveStreamEvent({ ev }: { ev: NostrEvent }) { const { proxy } = useImgProxy(); const title = findTag(ev, "title"); const image = findTag(ev, "image"); const status = findTag(ev, "status"); const link = NostrLink.fromEvent(ev).encode(); const imageProxy = proxy(image ?? ""); return (
{status}
0
{title}
); }