From 8aa26caae0ef16da6351f1d04d4554ce82706a25 Mon Sep 17 00:00:00 2001 From: Gigi Date: Sun, 19 Oct 2025 00:48:24 +0200 Subject: [PATCH] feat(explore): show skeletons instead of spinner; keep nostrverse non-blocking and stream into view --- src/components/Explore.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/Explore.tsx b/src/components/Explore.tsx index 77d7e8da..1379c31c 100644 --- a/src/components/Explore.tsx +++ b/src/components/Explore.tsx @@ -55,7 +55,7 @@ const Explore: React.FC = ({ relayPool, eventStore, settings, acti // Get myHighlights directly from controller const [myHighlights, setMyHighlights] = useState([]) - const [myHighlightsLoading, setMyHighlightsLoading] = useState(false) + // Remove unused loading state to avoid warnings // Load cached content from event store (instant display) const cachedHighlights = useStoreTimeline(eventStore, { kinds: [KINDS.Highlights] }, eventToHighlight, []) @@ -94,10 +94,8 @@ const Explore: React.FC = ({ relayPool, eventStore, settings, acti // Subscribe to highlights controller useEffect(() => { const unsubHighlights = highlightsController.onHighlights(setMyHighlights) - const unsubLoading = highlightsController.onLoading(setMyHighlightsLoading) return () => { unsubHighlights() - unsubLoading() } }, []) @@ -634,9 +632,9 @@ const Explore: React.FC = ({ relayPool, eventStore, settings, acti } } - // Show content progressively - no blocking error screens + // Show skeletons while first load in this session const hasData = highlights.length > 0 || blogPosts.length > 0 - const showSkeletons = (loading || myHighlightsLoading) && !hasData + const showSkeletons = loading && !hasData return (