import { useRef, useState } from "react"; import { useNostrEvents, dateToUnix } from "nostr-react"; import { Skeleton } from "@/components/ui/skeleton"; import QuickViewNoteCard from "./QuickViewNoteCard"; import { Button } from "@/components/ui/button"; interface ProfileQuickViewFeedProps { pubkey: string; } const ProfileQuickViewFeed: React.FC = ({ pubkey }) => { const now = useRef(new Date()); // Make sure current time isn't re-rendered const [limit, setLimit] = useState(100); const { isLoading ,events } = useNostrEvents({ filter: { authors: [pubkey], limit: limit, kinds: [1], }, }); let filteredEvents = events.filter((event) => event.content.match(/https?:\/\/.*\.(?:png|jpg|gif|mp4|webm|mov|jpeg)/g)?.[0]); // filter out all replies (tag[0] == e) filteredEvents = filteredEvents.filter((event) => !event.tags.some((tag) => { return tag[0] == 'e' })); const loadMore = () => { setLimit(limit => limit + 50); } return ( <>
{filteredEvents.length === 0 && isLoading ? ( <>
) : ( <> {filteredEvents.map((event) => ( ))} )}
{!isLoading ? (
) : null} ); } export default ProfileQuickViewFeed;