diff --git a/src/element/badge.tsx b/src/element/badge.tsx index fb6865f..05db3c4 100644 --- a/src/element/badge.tsx +++ b/src/element/badge.tsx @@ -4,7 +4,7 @@ import { findTag } from "utils"; export function Badge({ ev }: { ev: NostrEvent }) { const name = findTag(ev, "name") || findTag(ev, "d"); - const description = findTag(ev, "description"); + const description = findTag(ev, "description") ?? ""; const thumb = findTag(ev, "thumb"); const image = findTag(ev, "image"); return ( diff --git a/src/element/chat-message.tsx b/src/element/chat-message.tsx index 5cf0574..5550336 100644 --- a/src/element/chat-message.tsx +++ b/src/element/chat-message.tsx @@ -8,18 +8,17 @@ import { useIntersectionObserver, } from "usehooks-ts"; -import { System } from "../index"; -import { formatSats } from "../number"; -import { EmojiPicker } from "./emoji-picker"; -import { Icon } from "./icon"; -import { Emoji as EmojiComponent } from "./emoji"; +import { EmojiPicker } from "element/emoji-picker"; +import { Icon } from "element/icon"; +import { Emoji as EmojiComponent } from "element/emoji"; import { Profile } from "./profile"; import { Text } from "element/text"; -import { SendZapsDialog } from "./send-zap"; -import { findTag } from "../utils"; -import type { EmojiPack } from "../hooks/emoji"; -import { useLogin } from "../hooks/login"; -import type { Badge, Emoji } from "types"; +import { SendZapsDialog } from "element/send-zap"; +import { useLogin } from "hooks/login"; +import { formatSats } from "number"; +import { findTag } from "utils"; +import type { Badge, Emoji, EmojiPack } from "types"; +import { System } from "index"; function emojifyReaction(reaction: string) { if (reaction === "+") { @@ -104,7 +103,7 @@ export function ChatMessage({ if (emoji.native) { reply = await pub?.react(ev, emoji.native || "+1"); } else { - const e = getEmojiById(emoji.id); + const e = getEmojiById(emoji.id!); if (e) { reply = await pub?.generic((eb) => { return eb diff --git a/src/element/emoji-pack.tsx b/src/element/emoji-pack.tsx index 532156e..b6dbca1 100644 --- a/src/element/emoji-pack.tsx +++ b/src/element/emoji-pack.tsx @@ -8,6 +8,7 @@ import { Mention } from "element/mention"; import { findTag } from "utils"; import { USER_EMOJIS } from "const"; import { Login, System } from "index"; +import type { EmojiPack as EmojiPackType } from "types"; export function EmojiPack({ ev }: { ev: NostrEvent }) { const login = useLogin(); @@ -18,13 +19,14 @@ export function EmojiPack({ ev }: { ev: NostrEvent }) { const emoji = ev.tags.filter((e) => e.at(0) === "emoji"); async function toggleEmojiPack() { - let newPacks = []; + let newPacks = [] as EmojiPackType[]; if (isUsed) { - newPacks = login.emojis.filter( - (e) => e.pubkey !== ev.pubkey && e.name !== name, - ); + newPacks = + login?.emojis.filter( + (e) => e.author !== ev.pubkey && e.name !== name, + ) ?? []; } else { - newPacks = [...login.emojis, toEmojiPack(ev)]; + newPacks = [...(login?.emojis ?? []), toEmojiPack(ev)]; } const pub = login?.publisher(); if (pub) { @@ -37,7 +39,7 @@ export function EmojiPack({ ev }: { ev: NostrEvent }) { }); console.debug(ev); System.BroadcastEvent(ev); - Login.setEmojis(newPacks, ev.created_at); + Login.setEmojis(newPacks); } } @@ -48,12 +50,14 @@ export function EmojiPack({ ev }: { ev: NostrEvent }) {
{transformText(children, tags)}
, - a: (props) => { - return{transformText(children, tags)}
; + }, + a: ({ href, children }: LinkProps) => { + return href &&