From 553008610bdb931ac2c94c25e746d24abe6c40d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 18 Jan 2026 08:29:54 +0000 Subject: [PATCH] fix: Add TypeScript type annotations to ChannelLink components - Remove unused NostrEvent import from ChannelLink - Add explicit type annotations for event callbacks in ChannelListRenderer - Add type annotations for map callbacks to fix 'unknown' type errors - Fixes build errors while maintaining functionality --- src/components/nostr/ChannelLink.tsx | 1 - .../nostr/kinds/ChannelListRenderer.tsx | 16 ++++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/components/nostr/ChannelLink.tsx b/src/components/nostr/ChannelLink.tsx index efe1b20..e10f041 100644 --- a/src/components/nostr/ChannelLink.tsx +++ b/src/components/nostr/ChannelLink.tsx @@ -4,7 +4,6 @@ import { cn } from "@/lib/utils"; import { nip19 } from "nostr-tools"; import { use$ } from "applesauce-react/hooks"; import eventStore from "@/services/event-store"; -import type { NostrEvent } from "@/types/nostr"; import { useMemo } from "react"; export interface ChannelLinkProps { diff --git a/src/components/nostr/kinds/ChannelListRenderer.tsx b/src/components/nostr/kinds/ChannelListRenderer.tsx index 65b59d1..f9116a4 100644 --- a/src/components/nostr/kinds/ChannelListRenderer.tsx +++ b/src/components/nostr/kinds/ChannelListRenderer.tsx @@ -70,7 +70,7 @@ export function ChannelListRenderer({ event }: BaseEventProps) { { eventStore }, ) .subscribe({ - next: (response) => { + next: (response: NostrEvent | string) => { if (typeof response === "string") { console.log("[ChannelListRenderer] EOSE received for kind 40"); } else { @@ -94,7 +94,7 @@ export function ChannelListRenderer({ event }: BaseEventProps) { () => channelIds.length > 0 ? eventStore.timeline({ kinds: [40], ids: channelIds }).pipe( - map((events) => { + map((events: NostrEvent[]) => { const eventMap = new Map(); for (const evt of events) { eventMap.set(evt.id, evt); @@ -109,7 +109,9 @@ export function ChannelListRenderer({ event }: BaseEventProps) { // Fetch kind 41 metadata for channels we have kind 40 for const kind40Pubkeys = kind40Events ? Array.from( - new Set(Array.from(kind40Events.values()).map((e) => e.pubkey)), + new Set( + Array.from(kind40Events.values()).map((e: NostrEvent) => e.pubkey), + ), ) : []; @@ -135,7 +137,7 @@ export function ChannelListRenderer({ event }: BaseEventProps) { { eventStore }, ) .subscribe({ - next: (response) => { + next: (response: NostrEvent | string) => { if (typeof response === "string") { console.log("[ChannelListRenderer] EOSE received for kind 41"); } else { @@ -236,7 +238,7 @@ export function ChannelListDetailRenderer({ event }: { event: NostrEvent }) { () => channelIds.length > 0 ? eventStore.timeline({ kinds: [40], ids: channelIds }).pipe( - map((events) => { + map((events: NostrEvent[]) => { const eventMap = new Map(); for (const evt of events) { eventMap.set(evt.id, evt); @@ -250,7 +252,9 @@ export function ChannelListDetailRenderer({ event }: { event: NostrEvent }) { const kind40Pubkeys = kind40Events ? Array.from( - new Set(Array.from(kind40Events.values()).map((e) => e.pubkey)), + new Set( + Array.from(kind40Events.values()).map((e: NostrEvent) => e.pubkey), + ), ) : [];