From c9f3d8fc071e546aa9cedc24bc24c68c5a2d73fe Mon Sep 17 00:00:00 2001 From: Silberengel Date: Mon, 27 Oct 2025 08:29:17 +0100 Subject: [PATCH] more efficient nostr stats --- src/components/NormalFeed/index.tsx | 6 +- src/components/NoteList/index.tsx | 24 +- src/components/ReplyNoteList/index.tsx | 144 +++++--- src/components/TrendingNotes/index.tsx | 22 +- src/constants.ts | 2 + src/pages/primary/DiscussionsPage/index.tsx | 23 +- src/services/note-stats.service.ts | 360 ++++++++------------ 7 files changed, 307 insertions(+), 274 deletions(-) diff --git a/src/components/NormalFeed/index.tsx b/src/components/NormalFeed/index.tsx index 9164afb..0cf2261 100644 --- a/src/components/NormalFeed/index.tsx +++ b/src/components/NormalFeed/index.tsx @@ -25,7 +25,11 @@ const NormalFeed = forwardRef(() => storage.getNoteListMode()) + const [listMode, setListMode] = useState(() => { + const storedMode = storage.getNoteListMode() + // Default to 'posts' (Notes tab) for main feed, not replies + return storedMode || 'posts' + }) const supportTouch = useMemo(() => isTouchDevice(), []) const internalNoteListRef = useRef(null) const noteListRef = ref || internalNoteListRef diff --git a/src/components/NoteList/index.tsx b/src/components/NoteList/index.tsx index 0599255..7c06bf1 100644 --- a/src/components/NoteList/index.tsx +++ b/src/components/NoteList/index.tsx @@ -160,11 +160,16 @@ const NoteList = forwardRef( useImperativeHandle(ref, () => ({ scrollToTop, refresh }), []) useEffect(() => { + console.log('🚀 [NoteList] useEffect triggered:', { + subRequests: subRequests.length, + showKinds: showKinds.length, + refreshCount + }) logger.debug('NoteList useEffect:', { subRequests, subRequestsLength: subRequests.length }) if (!subRequests.length) return async function init() { - + console.log('🔄 [NoteList] Initializing feed...') setLoading(true) setEvents([]) setNewEvents([]) @@ -197,8 +202,15 @@ const NoteList = forwardRef( })), { onEvents: (events, eosed) => { + console.log('📥 [NoteList] Received events:', { + eventsCount: events.length, + eosed, + loading, + hasMore + }) logger.debug('NoteList received events:', { eventsCount: events.length, eosed }) if (events.length > 0) { + console.log('✅ [NoteList] Setting events and stopping loading') setEvents(events) // Stop loading as soon as we have events, don't wait for all relays setLoading(false) @@ -207,6 +219,7 @@ const NoteList = forwardRef( setHasMore(false) } if (eosed) { + console.log('🏁 [NoteList] EOSED - setting loading false, hasMore:', events.length > 0) setLoading(false) setHasMore(events.length > 0) } @@ -329,6 +342,14 @@ const NoteList = forwardRef( }, 0) } + console.log('🎨 [NoteList] Rendering with state:', { + eventsCount: events.length, + filteredEventsCount: filteredEvents.length, + loading, + hasMore, + showKinds: showKinds.length + }) + const list = (
{customHeader} @@ -349,6 +370,7 @@ const NoteList = forwardRef( ) : (