no comments on whole course for now until course layout update, cleanup a bit

This commit is contained in:
austinkelsay 2025-04-20 16:27:11 -05:00
parent 29e0445964
commit 4c291b5771
No known key found for this signature in database
GPG Key ID: 5A763922E5BA08EE
3 changed files with 1 additions and 89 deletions

View File

@ -6,4 +6,4 @@
"printWidth": 100,
"bracketSpacing": true,
"arrowParens": "avoid"
}
}

View File

@ -9,7 +9,6 @@ import {
} from '@/components/ui/card';
import { Tag } from 'primereact/tag';
import ZapDisplay from '@/components/zaps/ZapDisplay';
import ZapThreadsWrapper from '@/components/ZapThreadsWrapper';
import { nip19 } from 'nostr-tools';
import Image from 'next/image';
import { useZapsSubscription } from '@/hooks/nostrQueries/zaps/useZapsSubscription';
@ -32,23 +31,12 @@ export function CourseTemplate({ course, showMetaTags = true }) {
const [zapAmount, setZapAmount] = useState(0);
const [lessonCount, setLessonCount] = useState(0);
const [nAddress, setNAddress] = useState(null);
const [npub, setNpub] = useState(null);
const [nsec, setNsec] = useState(null);
const router = useRouter();
const { returnImageProxy } = useImageProxy();
const windowWidth = useWindowWidth();
const isMobile = windowWidth < 768;
const { data: session } = useSession();
useEffect(() => {
if (session?.user?.privkey) {
const privkeyBuffer = Buffer.from(session.user.privkey, 'hex');
setNsec(nip19.nsecEncode(privkeyBuffer));
} else if (session?.user?.pubkey) {
setNpub(nip19.npubEncode(session.user.pubkey));
}
}, [session]);
useEffect(() => {
if (zaps.length > 0) {
const total = getTotalFromZaps(zaps, course);
@ -75,15 +63,6 @@ export function CourseTemplate({ course, showMetaTags = true }) {
}
}, [course]);
useEffect(() => {
if (session?.user?.privkey) {
const privkeyBuffer = Buffer.from(session.user.privkey, 'hex');
setNsec(nip19.nsecEncode(privkeyBuffer));
} else if (session?.user?.pubkey) {
setNpub(nip19.npubEncode(session.user.pubkey));
}
}, [session]);
const shouldShowMetaTags = topic => {
if (!showMetaTags) {
return !['lesson', 'document', 'video', 'course'].includes(topic);
@ -204,29 +183,6 @@ export function CourseTemplate({ course, showMetaTags = true }) {
className="items-center py-2"
/>
</CardFooter>
{nAddress !== null &&
(!course?.price ||
course.price === 0 ||
session?.user?.role?.subscribed ||
session?.user?.purchased?.some(purchase => purchase.resourceId === course.d)) && (
<div className="px-4 pb-4">
{nsec || npub ? (
<ZapThreadsWrapper
anchor={nAddress}
user={nsec || npub || null}
relays={appConfig.defaultRelayUrls.join(',')}
disable="zaps"
/>
) : (
<ZapThreadsWrapper
anchor={nAddress}
user={npub}
relays={appConfig.defaultRelayUrls.join(',')}
disable="zaps"
/>
)}
</div>
)}
</Card>
);
}

View File

@ -21,7 +21,6 @@ import WelcomeModal from '@/components/onboarding/WelcomeModal';
import { ProgressSpinner } from 'primereact/progressspinner';
import { Toast } from 'primereact/toast';
import MoreOptionsMenu from '@/components/ui/MoreOptionsMenu';
import ZapThreadsWrapper from '@/components/ZapThreadsWrapper';
export default function CourseDetails({
processedEvent,
@ -121,15 +120,6 @@ export default function CourseDetails({
}
}, [zaps, processedEvent]);
useEffect(() => {
if (session?.user?.privkey) {
const privkeyBuffer = Buffer.from(session.user.privkey, 'hex');
setNsec(nip19.nsecEncode(privkeyBuffer));
} else if (session?.user?.pubkey) {
setNpub(nip19.npubEncode(session.user.pubkey));
}
}, [session]);
const renderPaymentMessage = () => {
if (session?.user && session.user?.role?.subscribed && decryptionPerformed) {
return (
@ -278,40 +268,6 @@ export default function CourseDetails({
</div>
<div className="w-full mt-4">{renderPaymentMessage()}</div>
</div>
{nAddress !== null && (
<div className="px-4">
{paidCourse ? (
// For paid content, only show ZapThreads if user has access
processedEvent?.pubkey === session?.user?.pubkey ||
decryptionPerformed ||
session?.user?.role?.subscribed ? (
<ZapThreadsWrapper
anchor={nAddress}
user={session?.user ? nsec || npub : null}
relays={appConfig.defaultRelayUrls.join(',')}
disable="zaps"
isAuthorized={true}
/>
) : (
<div className="text-center p-4 bg-gray-800/50 rounded-lg">
<p className="text-gray-400">
Comments are only available to course purchasers, subscribers, and the course
creator.
</p>
</div>
)
) : (
// For free content, show ZapThreads to everyone
<ZapThreadsWrapper
anchor={nAddress}
user={session?.user ? nsec || npub : null}
relays={appConfig.defaultRelayUrls.join(',')}
disable="zaps"
isAuthorized={true}
/>
)}
</div>
)}
</div>
</div>
);