improve getShareableEventAddress and get rid of legacy.

This commit is contained in:
fiatjaf 2023-10-30 08:10:27 -03:00
parent e740b6f059
commit a0fd8c9752
No known key found for this signature in database
GPG Key ID: BAD43C4BE5C1A3A1
2 changed files with 7 additions and 18 deletions

View File

@ -34,7 +34,7 @@ import UserAvatarLink from "./user-avatar-link";
import { UserLink } from "./user-link";
import { UserDnsIdentityIcon } from "./user-dns-identity-icon";
import styled from "@emotion/styled";
import { getSharableNoteId } from "../helpers/nip19";
import { getSharableEventAddress } from "../helpers/nip19";
type RefType = MutableRefObject<HTMLElement | null>;
@ -101,7 +101,7 @@ function getRefPath(ref: RefType) {
}
function EventSlideHeader({ event, ...props }: { event: NostrEvent } & Omit<FlexProps, "children">) {
const encoded = useMemo(() => getSharableNoteId(event.id), [event.id]);
const encoded = useMemo(() => getSharableEventAddress(event), [event]);
return (
<Flex gap="2" alignItems="center" p="2" {...props}>

View File

@ -67,30 +67,19 @@ export function normalizeToHex(hex: string) {
return null;
}
/** @deprecated */
export function getSharableNoteId(eventId: string) {
const relays = getEventRelays(eventId).value;
const ranked = relayScoreboardService.getRankedRelays(relays);
const onlyTwo = ranked.slice(0, 2);
if (onlyTwo.length > 0) {
return nip19.neventEncode({ id: eventId, relays: onlyTwo });
} else return nip19.noteEncode(eventId);
}
export function getSharableEventAddress(event: NostrEvent) {
const relays = getEventRelays(getEventUID(event)).value;
const ranked = relayScoreboardService.getRankedRelays(relays);
const onlyTwo = ranked.slice(0, 2);
const maxTwo = ranked.slice(0, 2);
if (isReplaceable(event.kind)) {
const d = event.tags.find(isDTag)?.[1];
if (!d) return null;
return nip19.naddrEncode({ kind: event.kind, identifier: d, pubkey: event.pubkey, relays: onlyTwo });
return nip19.naddrEncode({ kind: event.kind, identifier: d, pubkey: event.pubkey, relays: maxTwo });
} else {
if (onlyTwo.length > 0) {
return nip19.neventEncode({ id: event.id, relays: onlyTwo });
} else return nip19.noteEncode(event.id);
if (maxTwo.length == 2) {
return nip19.neventEncode({ id: event.id, relays: maxTwo });
} else return nip19.neventEncode({ id: event.id, relays: maxTwo, author: event.pubkey });
}
}