import React from 'react'; import { useNostrEvents, useProfile } from "nostr-react"; import { Card, CardHeader, CardTitle, CardContent, CardFooter, CardDescription } from '@/components/ui/card'; import { Skeleton } from '@/components/ui/skeleton'; import { AvatarImage } from '@radix-ui/react-avatar'; import { Avatar } from '@/components/ui/avatar'; import NIP05 from '@/components/nip05'; import { nip19, } from "nostr-tools"; import Notification from './Notification'; interface NotificationsProps { pubkey: string; } const Notifications: React.FC = ({ pubkey }) => { const { data: userData, isLoading: userDataLoading } = useProfile({ pubkey, }); // const { events: followers, isLoading: followersLoading } = useNostrEvents({ // filter: { // kinds: [3], // '#p': [pubkey], // limit: 50, // }, // }); const { events, isLoading: isLoading } = useNostrEvents({ filter: { kinds: [7, 9735], '#p': [pubkey], limit: 50, }, }); // const { events: following, isLoading: followingLoading } = useNostrEvents({ // filter: { // kinds: [3], // authors: [pubkey], // limit: 1, // }, // }); // filter for only new followings (latest in a users followers list) // const filteredFollowers = followers.filter(follower => { // const lastPTag = follower.tags[follower.tags.length - 1]; // if (lastPTag[0] === "p" && lastPTag[1] === pubkey.toString()) { // // console.log(follower.tags[follower.tags.length - 1]); // return true; // } // }); // Create a combined and properly sorted array of all notifications // const allNotifications = [...(zaps || []), ...(reactions || [])].sort( // (a, b) => (b.created_at || 0) - (a.created_at || 0) // ); return ( <>
{/* */} Notifications {events.length > 0 ? ( events.map((notification, index) => ( )) ) : (
No notifications yet
)} {(!events) && (
)}
); } export default Notifications;