mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-09-27 20:17:05 +02:00
set repost event content to json
This commit is contained in:
@@ -12,14 +12,32 @@ import {
|
|||||||
useDisclosure,
|
useDisclosure,
|
||||||
useToast,
|
useToast,
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
|
import { Kind } from "nostr-tools";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
import { NostrEvent } from "../../../types/nostr-event";
|
import { DraftNostrEvent, NostrEvent } from "../../../types/nostr-event";
|
||||||
import { RepostIcon } from "../../icons";
|
import { RepostIcon } from "../../icons";
|
||||||
import { buildRepost } from "../../../helpers/nostr/events";
|
|
||||||
import clientRelaysService from "../../../services/client-relays";
|
import clientRelaysService from "../../../services/client-relays";
|
||||||
import NostrPublishAction from "../../../classes/nostr-publish-action";
|
import NostrPublishAction from "../../../classes/nostr-publish-action";
|
||||||
import { useSigningContext } from "../../../providers/signing-provider";
|
import { useSigningContext } from "../../../providers/signing-provider";
|
||||||
import { EmbedEvent } from "../../embed-event";
|
import { EmbedEvent } from "../../embed-event";
|
||||||
|
import relayScoreboardService from "../../../services/relay-scoreboard";
|
||||||
|
import { getEventRelays } from "../../../services/event-relays";
|
||||||
|
|
||||||
|
function buildRepost(event: NostrEvent): DraftNostrEvent {
|
||||||
|
const relays = getEventRelays(event.id).value;
|
||||||
|
const topRelay = relayScoreboardService.getRankedRelays(relays)[0] ?? "";
|
||||||
|
|
||||||
|
const tags: NostrEvent["tags"] = [];
|
||||||
|
tags.push(["e", event.id, topRelay]);
|
||||||
|
|
||||||
|
return {
|
||||||
|
kind: Kind.Repost,
|
||||||
|
tags,
|
||||||
|
content: JSON.stringify(event),
|
||||||
|
created_at: dayjs().unix(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function RepostButton({ event }: { event: NostrEvent }) {
|
export function RepostButton({ event }: { event: NostrEvent }) {
|
||||||
const { isOpen, onClose, onOpen } = useDisclosure();
|
const { isOpen, onClose, onOpen } = useDisclosure();
|
||||||
|
@@ -138,21 +138,6 @@ export function getReferences(event: NostrEvent | DraftNostrEvent) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function buildRepost(event: NostrEvent): DraftNostrEvent {
|
|
||||||
const relays = getEventRelays(event.id).value;
|
|
||||||
const topRelay = relayScoreboardService.getRankedRelays(relays)[0] ?? "";
|
|
||||||
|
|
||||||
const tags: NostrEvent["tags"] = [];
|
|
||||||
tags.push(["e", event.id, topRelay]);
|
|
||||||
|
|
||||||
return {
|
|
||||||
kind: Kind.Repost,
|
|
||||||
tags,
|
|
||||||
content: "",
|
|
||||||
created_at: dayjs().unix(),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function parseRTag(tag: RTag): RelayConfig {
|
export function parseRTag(tag: RTag): RelayConfig {
|
||||||
switch (tag[2]) {
|
switch (tag[2]) {
|
||||||
case "write":
|
case "write":
|
||||||
|
Reference in New Issue
Block a user