From c776567cf3b3c7e5a77b3ae4924444e2eac674e4 Mon Sep 17 00:00:00 2001 From: austinkelsay Date: Fri, 6 Sep 2024 23:21:40 -0500 Subject: [PATCH] Really good stuff --- README.md | 2 +- .../content/courses/CourseDetails.js | 2 +- .../content/courses/DraftCourseDetails.js | 3 +- .../content/resources/ResourceDetails.js | 2 +- src/components/feeds/NostrFeed.js | 56 +++++++++++++------ 5 files changed, 44 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index fbb5b28..0759529 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Plebdevs Platform -still in development +still in development \ No newline at end of file diff --git a/src/components/content/courses/CourseDetails.js b/src/components/content/courses/CourseDetails.js index 47d7387..f04c2c1 100644 --- a/src/components/content/courses/CourseDetails.js +++ b/src/components/content/courses/CourseDetails.js @@ -34,7 +34,7 @@ export default function CourseDetails({ processedEvent, paidCourse, lessons, dec const router = useRouter(); const {ndk, addSigner} = useNDKContext(); - const lnAddress = process.env.NEXT_PUBLIC_LN_ADDRESS; + const lnAddress = process.env.NEXT_PUBLIC_LIGHTNING_ADDRESS; useEffect(() => { console.log("processedEvent", processedEvent); diff --git a/src/components/content/courses/DraftCourseDetails.js b/src/components/content/courses/DraftCourseDetails.js index ca6af1c..8fa23cc 100644 --- a/src/components/content/courses/DraftCourseDetails.js +++ b/src/components/content/courses/DraftCourseDetails.js @@ -230,7 +230,8 @@ export default function DraftCourseDetails({ processedEvent, draftId, lessons }) ['description', summary], ['l', "Education"], ['price', price.toString()], - ...lessons.map((lesson) => ['a', `${lesson.kind}:${lesson.pubkey}:${lesson.d}`]), + // map out the lessons by order of the index property which is on each lesson + ...lessons.sort((a, b) => a.index - b.index).map((lesson) => ['a', `${lesson.kind}:${lesson.pubkey}:${lesson.d}`]), ]; return event; }; diff --git a/src/components/content/resources/ResourceDetails.js b/src/components/content/resources/ResourceDetails.js index 4d2b31d..c537250 100644 --- a/src/components/content/resources/ResourceDetails.js +++ b/src/components/content/resources/ResourceDetails.js @@ -9,7 +9,7 @@ import { useZapsSubscription } from "@/hooks/nostrQueries/zaps/useZapsSubscripti import { getTotalFromZaps } from "@/utils/lightning"; import { useSession } from "next-auth/react"; -const lnAddress = process.env.NEXT_PUBLIC_LN_ADDRESS; +const lnAddress = process.env.NEXT_PUBLIC_LIGHTNING_ADDRESS; const ResourceDetails = ({processedEvent, topics, title, summary, image, price, author, paidResource, decryptedContent, handlePaymentSuccess, handlePaymentError}) => { const [zapAmount, setZapAmount] = useState(0); diff --git a/src/components/feeds/NostrFeed.js b/src/components/feeds/NostrFeed.js index d690e4b..15f43cf 100644 --- a/src/components/feeds/NostrFeed.js +++ b/src/components/feeds/NostrFeed.js @@ -5,18 +5,22 @@ import { Tag } from 'primereact/tag'; import { Button } from 'primereact/button'; import { ProgressSpinner } from 'primereact/progressspinner'; import { useNDKContext } from '@/context/NDKContext'; +import { useSession } from 'next-auth/react'; import { findKind0Fields } from '@/utils/nostr'; import NostrIcon from '../../../public/images/nostr.png'; import Image from 'next/image'; import { useImageProxy } from '@/hooks/useImageProxy'; import { nip19 } from 'nostr-tools'; import { useCommunityNotes } from '@/hooks/nostr/useCommunityNotes'; +import ZapThreadsWrapper from '@/components/ZapThreadsWrapper'; const NostrFeed = () => { const { communityNotes, isLoading, error } = useCommunityNotes(); const { ndk } = useNDKContext(); const { returnImageProxy } = useImageProxy(); + const { data: session } = useSession(); const [authorData, setAuthorData] = useState({}); + const [npub, setNpub] = useState(null); useEffect(() => { const fetchAuthors = async () => { @@ -35,6 +39,12 @@ const NostrFeed = () => { } }, [communityNotes]); + useEffect(() => { + if (session?.user?.pubkey) { + setNpub(nip19.npubEncode(session.user.pubkey)); + } + }, [session]); + const fetchAuthor = async (pubkey) => { try { const filter = { @@ -64,12 +74,12 @@ const NostrFeed = () => { const renderHeader = (message) => (
-

{authorData[message.pubkey]?.username || message.pubkey.substring(0, 12) + '...'} @@ -85,19 +95,31 @@ const NostrFeed = () => { ); const footer = (message) => ( -

- - {new Date(message.created_at * 1000).toLocaleString()} - -
+ <> +
+ + {new Date(message.created_at * 1000).toLocaleString()} + +
+
+ {session?.user?.pubkey && ( + + )} +
+ ); if (isLoading) {