diff --git a/src/components/ProfileRightSidebar.tsx b/src/components/ProfileRightSidebar.tsx index 0a4567c2..2010637a 100644 --- a/src/components/ProfileRightSidebar.tsx +++ b/src/components/ProfileRightSidebar.tsx @@ -19,12 +19,10 @@ interface ProfileField { interface ProfileRightSidebarProps { fields?: ProfileField[]; - /** Events from the profile feed — media is extracted client-side instead of a separate query. */ - events?: NostrEvent[]; - /** Whether the feed events are still loading. */ - eventsLoading?: boolean; - /** Whether all feed pages have been loaded (no more pages to fetch). */ - eventsComplete?: boolean; + /** Media events fetched via a dedicated search query (video:true image:true). */ + mediaEvents?: NostrEvent[]; + /** Whether the media events are still loading. */ + mediaLoading?: boolean; } interface MediaItem { @@ -243,13 +241,13 @@ function ProfileFieldRow({ field }: { field: ProfileField }) { ); } -export function ProfileRightSidebar({ fields, events, eventsLoading, eventsComplete }: ProfileRightSidebarProps) { +export function ProfileRightSidebar({ fields, mediaEvents, mediaLoading: mediaLoadingProp }: ProfileRightSidebarProps) { const { config } = useAppContext(); const media = useMemo( - () => extractMedia(events ?? [], config.contentWarningPolicy), - [events, config.contentWarningPolicy], + () => extractMedia(mediaEvents ?? [], config.contentWarningPolicy), + [mediaEvents, config.contentWarningPolicy], ); - const mediaLoading = (eventsLoading ?? false) || (media.length === 0 && !eventsComplete); + const mediaLoading = mediaLoadingProp ?? false; return (