mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-09-30 14:05:28 +02:00
handle stemstr links as embeds
This commit is contained in:
@@ -58,7 +58,7 @@ export default function EmbeddedStemstrTrack({ track, ...props }: Omit<CardProps
|
|||||||
{hashtags.length > 0 && (
|
{hashtags.length > 0 && (
|
||||||
<Flex wrap="wrap" gap="2">
|
<Flex wrap="wrap" gap="2">
|
||||||
{hashtags.map((hashtag) => (
|
{hashtags.map((hashtag) => (
|
||||||
<Tag>#{hashtag}</Tag>
|
<Tag key={hashtag}>#{hashtag}</Tag>
|
||||||
))}
|
))}
|
||||||
</Flex>
|
</Flex>
|
||||||
)}
|
)}
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import { CSSProperties } from "react";
|
import { CSSProperties } from "react";
|
||||||
import { Box, useColorMode } from "@chakra-ui/react";
|
import { Box, useColorMode } from "@chakra-ui/react";
|
||||||
|
import { EmbedEventPointer } from "../embed-event";
|
||||||
|
|
||||||
const setZIndex: CSSProperties = { zIndex: 1, position: "relative" };
|
const setZIndex: CSSProperties = { zIndex: 1, position: "relative" };
|
||||||
|
|
||||||
@@ -110,3 +111,13 @@ export function renderSongDotLinkUrl(match: URL) {
|
|||||||
></Box>
|
></Box>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nostr:nevent1qqs95384ynfcgugz29u25ltl7qs6d5chve8ksw7ms3ega8eyem3n5agpz9mhxue69uhkummnw3e82efwvdhk6qgnwaehxw309aex2mrp09skymr99ehhyec6lyxqd
|
||||||
|
export function renderStemstrUrl(match: URL) {
|
||||||
|
if (match.hostname !== "stemstr.app") return null;
|
||||||
|
|
||||||
|
const [_, base, id] = match.pathname.split("/");
|
||||||
|
if (base !== "thread" || id.length !== 64) return null;
|
||||||
|
|
||||||
|
return <EmbedEventPointer pointer={{ type: "nevent", data: { id, relays: ["wss://relay.stemstr.app"] } }} />;
|
||||||
|
}
|
||||||
|
@@ -22,6 +22,7 @@ import {
|
|||||||
renderGenericUrl,
|
renderGenericUrl,
|
||||||
renderSongDotLinkUrl,
|
renderSongDotLinkUrl,
|
||||||
embedCashuTokens,
|
embedCashuTokens,
|
||||||
|
renderStemstrUrl,
|
||||||
} from "../embed-types";
|
} from "../embed-types";
|
||||||
import { LightboxProvider } from "../lightbox-provider";
|
import { LightboxProvider } from "../lightbox-provider";
|
||||||
import { renderRedditUrl } from "../embed-types/reddit";
|
import { renderRedditUrl } from "../embed-types/reddit";
|
||||||
@@ -42,6 +43,7 @@ function buildContents(event: NostrEvent | DraftNostrEvent, simpleLinks = false)
|
|||||||
renderSpotifyUrl,
|
renderSpotifyUrl,
|
||||||
renderTidalUrl,
|
renderTidalUrl,
|
||||||
renderSongDotLinkUrl,
|
renderSongDotLinkUrl,
|
||||||
|
renderStemstrUrl,
|
||||||
renderImageUrl,
|
renderImageUrl,
|
||||||
renderVideoUrl,
|
renderVideoUrl,
|
||||||
simpleLinks ? renderGenericUrl : renderOpenGraphUrl,
|
simpleLinks ? renderGenericUrl : renderOpenGraphUrl,
|
||||||
|
Reference in New Issue
Block a user