fix debug tags throwing

This commit is contained in:
hzrd149 2024-12-19 11:07:59 -06:00
parent 4c5b1f572c
commit 1cbd4ee803

View File

@ -2,9 +2,9 @@ import { MouseEventHandler, useCallback } from "react";
import { Box, Button, Flex, Link, Text, useDisclosure } from "@chakra-ui/react";
import { NostrEvent, nip19 } from "nostr-tools";
import { Link as RouterLink } from "react-router-dom";
import { getAddressPointerFromATag, getEventPointerFromETag } from "applesauce-core/helpers";
import { Tag, isATag, isETag, isPTag } from "../../types/nostr-event";
import { aTagToAddressPointer, eTagToEventPointer } from "../../helpers/nostr/event";
import { EmbedEventPointer } from "../embed-event";
import UserAvatarLink from "../user/user-avatar-link";
import UserLink from "../user/user-link";
@ -29,51 +29,54 @@ function EventTag({ tag }: { tag: Tag }) {
[expand.onToggle],
);
if (isETag(tag)) {
const pointer = eTagToEventPointer(tag);
return (
<>
<Link as={RouterLink} to={`/l/${nip19.neventEncode(pointer)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && <EmbedEventPointer pointer={{ type: "nevent", data: pointer }} />}
</>
);
} else if (isATag(tag)) {
const pointer = aTagToAddressPointer(tag);
return (
<>
<Link as={RouterLink} to={`/l/${nip19.naddrEncode(pointer)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && <EmbedEventPointer pointer={{ type: "naddr", data: pointer }} />}
</>
);
} else if (isPTag(tag)) {
const pubkey = tag[1];
return (
<>
<Link as={RouterLink} to={`/l/${nip19.npubEncode(pubkey)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && (
<Flex gap="4" p="2">
<UserAvatarLink pubkey={pubkey} />
<Box>
<UserLink pubkey={pubkey} fontWeight="bold" />
<br />
<UserDnsIdentity pubkey={pubkey} />
</Box>
</Flex>
)}
</>
);
} else
return (
<Text title={content} {...props}>
{content}
</Text>
);
try {
if (isETag(tag)) {
const pointer = getEventPointerFromETag(tag);
return (
<>
<Link as={RouterLink} to={`/l/${nip19.neventEncode(pointer)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && <EmbedEventPointer pointer={{ type: "nevent", data: pointer }} />}
</>
);
} else if (isATag(tag)) {
const pointer = getAddressPointerFromATag(tag);
return (
<>
<Link as={RouterLink} to={`/l/${nip19.naddrEncode(pointer)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && <EmbedEventPointer pointer={{ type: "naddr", data: pointer }} />}
</>
);
} else if (isPTag(tag)) {
const pubkey = tag[1];
return (
<>
<Link as={RouterLink} to={`/l/${nip19.npubEncode(pubkey)}`} onClick={toggle} {...props}>
{content}
</Link>
{expand.isOpen && (
<Flex gap="4" p="2">
<UserAvatarLink pubkey={pubkey} />
<Box>
<UserLink pubkey={pubkey} fontWeight="bold" />
<br />
<UserDnsIdentity pubkey={pubkey} />
</Box>
</Flex>
)}
</>
);
}
} catch (error) {}
return (
<Text title={content} {...props}>
{content}
</Text>
);
}
export default function DebugEventTags({ event }: { event: NostrEvent }) {