diff --git a/src/services/event-zaps.ts b/src/services/event-zaps.ts index 8bef0dd35..4fe9ea639 100644 --- a/src/services/event-zaps.ts +++ b/src/services/event-zaps.ts @@ -3,8 +3,7 @@ import { Kind } from "nostr-tools"; import NostrRequest from "../classes/nostr-request"; import Subject from "../classes/subject"; import SuperMap from "../classes/super-map"; -import { getReferences } from "../helpers/nostr/events"; -import { NostrEvent } from "../types/nostr-event"; +import { NostrEvent, isATag, isETag } from "../types/nostr-event"; import { NostrRequestFilter } from "../types/nostr-query"; import { isHexKey } from "../helpers/nip19"; @@ -29,11 +28,10 @@ class EventZapsService { handleEvent(event: NostrEvent) { if (event.kind !== Kind.Zap) return; - const refs = getReferences(event); - const id = refs.events[0]; - if (!id) return; + const eventUID = event.tags.find(isETag)?.[1] ?? event.tags.find(isATag)?.[1]; + if (!eventUID) return; - const subject = this.subjects.get(id); + const subject = this.subjects.get(eventUID); if (!subject.value) { subject.next([event]); } else if (!subject.value.some((e) => e.id === event.id)) { @@ -74,6 +72,11 @@ class EventZapsService { const eventZapsService = new EventZapsService(); +if (import.meta.env.DEV) { + // @ts-ignore + window.eventZapsService = eventZapsService; +} + setInterval(() => { eventZapsService.batchRequests(); }, 1000 * 2); diff --git a/src/views/emoji-packs/components/emoji-pack-card.tsx b/src/views/emoji-packs/components/emoji-pack-card.tsx index 5fa1f549e..73f859eb0 100644 --- a/src/views/emoji-packs/components/emoji-pack-card.tsx +++ b/src/views/emoji-packs/components/emoji-pack-card.tsx @@ -10,7 +10,6 @@ import { Flex, Heading, Image, - Link, Text, } from "@chakra-ui/react"; @@ -23,7 +22,8 @@ import EmojiPackFavoriteButton from "./emoji-pack-favorite-button"; import { getEventUID } from "../../../helpers/nostr/events"; import { getEmojisFromPack, getPackName } from "../../../helpers/nostr/emoji-packs"; import EmojiPackMenu from "./emoji-pack-menu"; -import Timestamp from "../../../components/timestamp"; +import NoteZapButton from "../../../components/note/note-zap-button"; +import HoverLinkOverlay from "../../../components/hover-link-overlay"; export default function EmojiPackCard({ pack, ...props }: Omit & { pack: NostrEvent }) { const emojis = getEmojisFromPack(pack); @@ -37,17 +37,13 @@ export default function EmojiPackCard({ pack, ...props }: Omit - + {getPackName(pack)} - + by - - - - {emojis.length > 0 && ( @@ -59,9 +55,13 @@ export default function EmojiPackCard({ pack, ...props }: Omit - - Updated: - + + + + + + + ); diff --git a/src/views/emoji-packs/emoji-pack.tsx b/src/views/emoji-packs/emoji-pack.tsx index 141d420a2..5d74fdad9 100644 --- a/src/views/emoji-packs/emoji-pack.tsx +++ b/src/views/emoji-packs/emoji-pack.tsx @@ -18,6 +18,7 @@ import { Tag, TagCloseButton, TagLabel, + Text, } from "@chakra-ui/react"; import { UserLink } from "../../components/user-link"; @@ -34,6 +35,10 @@ import clientRelaysService from "../../services/client-relays"; import replaceableEventLoaderService from "../../services/replaceable-event-requester"; import { DraftNostrEvent, NostrEvent } from "../../types/nostr-event"; import VerticalPageLayout from "../../components/vertical-page-layout"; +import UserAvatarLink from "../../components/user-avatar-link"; +import NoteZapButton from "../../components/note/note-zap-button"; +import { QuoteRepostButton } from "../../components/note/components/quote-repost-button"; +import Timestamp from "../../components/timestamp"; function AddEmojiForm({ onAdd }: { onAdd: (values: { name: string; url: string }) => void }) { const { register, handleSubmit, watch, getValues, reset } = useForm({ @@ -127,11 +132,6 @@ function EmojiPackPage({ pack }: { pack: NostrEvent }) { Back - - {getPackName(pack)} - - - @@ -151,6 +151,28 @@ function EmojiPackPage({ pack }: { pack: NostrEvent }) { + + + {getPackName(pack)} + + + + + + Created by: + + + + + Updated: + + + + + + + + {emojis.length > 0 && ( <> {!editing && ( @@ -169,7 +191,6 @@ function EmojiPackPage({ pack }: { pack: NostrEvent }) { )} - {(editing ? draftEmojis : emojis).map(({ name, url }) => ( {favorites.length > 0 && ( <> - + Favorite packs - {favorites.map((event) => ( @@ -53,10 +52,9 @@ function UserEmojiPackMangerPage() { )} {packs.length > 0 && ( <> - + Emoji packs - {packs.map((event) => ( diff --git a/src/views/user/index.tsx b/src/views/user/index.tsx index 161cb8c2d..b5e29f77f 100644 --- a/src/views/user/index.tsx +++ b/src/views/user/index.tsx @@ -59,7 +59,7 @@ const tabs = [ { label: "Relays", path: "relays" }, { label: "Goals", path: "goals" }, { label: "Tracks", path: "tracks" }, - { label: "Emoji Packs", path: "emojis" }, + { label: "Emojis", path: "emojis" }, { label: "Torrents", path: "torrents" }, { label: "Reports", path: "reports" }, { label: "Followers", path: "followers" },