mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-04-19 19:01:19 +00:00
fix for unlocking all lessons in course when the course has been purchased
This commit is contained in:
parent
816d0eba91
commit
31af64e36a
@ -210,7 +210,7 @@ const DocumentDetails = ({ processedEvent, topics, title, summary, image, price,
|
||||
</div>
|
||||
) : (
|
||||
<div className="w-full flex flex-row justify-end gap-2">
|
||||
{course && <GenericButton size={isMobileView ? 'small' : 'large'} outlined icon="pi pi-external-link" onClick={() => window.open(`/course/${course}`, '_blank')} label={isMobileView ? "Course" : "Open Course"} tooltip="This is a lesson in a course" tooltipOptions={{ position: 'top' }} />}
|
||||
{course && <GenericButton size={isMobileView ? 'small' : null} outlined icon="pi pi-external-link" onClick={() => window.open(`/course/${course}`, '_blank')} label={isMobileView ? "Course" : "Open Course"} tooltip="This is a lesson in a course" tooltipOptions={{ position: 'top' }} />}
|
||||
<GenericButton
|
||||
size={isMobileView ? 'small' : 'large'}
|
||||
tooltip={isMobileView ? null : "View Nostr Note"}
|
||||
|
@ -220,7 +220,7 @@ const VideoDetails = ({ processedEvent, topics, title, summary, image, price, au
|
||||
</div>
|
||||
) : (
|
||||
<div className="w-full flex flex-row justify-end gap-2">
|
||||
{course && <GenericButton size={isMobileView ? 'small' : 'large'} outlined icon="pi pi-external-link" onClick={() => window.open(`/course/${course}`, '_blank')} label={isMobileView ? "Course" : "Open Course"} tooltip="This is a lesson in a course" tooltipOptions={{ position: 'top' }} />}
|
||||
{course && <GenericButton size={isMobileView ? 'small' : null} outlined icon="pi pi-external-link" onClick={() => window.open(`/course/${course}`, '_blank')} label={isMobileView ? "Course" : "Open Course"} tooltip="This is a lesson in a course" tooltipOptions={{ position: 'top' }} />}
|
||||
<GenericButton
|
||||
size={isMobileView ? 'small' : 'large'}
|
||||
tooltip={isMobileView ? null : "View Nostr Note"}
|
||||
|
@ -12,7 +12,7 @@ const appConfig = {
|
||||
"wss://relay.devs.tools/"
|
||||
],
|
||||
// ganon "468f729dd409053dac5e7470622c3996aad88db6ed1de9165cb1921b5ab4fd5e",
|
||||
authorPubkeys: ["8cb60e215678879cda0bef4d5b3fc1a5c5925d2adb5d8c4fa7b7d03b5f2deaea", "676c02247668d5b18479be3d1a80933044256f3fbd03640a8c234684e641b6d6", "f33c8a9617cb15f705fc70cd461cfd6eaf22f9e24c33eabad981648e5ec6f741", "c67cd3e1a83daa56cff16f635db2fdb9ed9619300298d4701a58e68e84098345", "468f729dd409053dac5e7470622c3996aad88db6ed1de9165cb1921b5ab4fd5e"],
|
||||
authorPubkeys: ["8cb60e215678879cda0bef4d5b3fc1a5c5925d2adb5d8c4fa7b7d03b5f2deaea", "676c02247668d5b18479be3d1a80933044256f3fbd03640a8c234684e641b6d6", "f33c8a9617cb15f705fc70cd461cfd6eaf22f9e24c33eabad981648e5ec6f741", "c67cd3e1a83daa56cff16f635db2fdb9ed9619300298d4701a58e68e84098345"],
|
||||
customLightningAddresses: [
|
||||
{
|
||||
// todo remove need for lowercase
|
||||
|
@ -30,8 +30,9 @@ const Details = () => {
|
||||
useEffect(() => {
|
||||
axios.get('/api/lessons').then(res => {
|
||||
if (res.data) {
|
||||
console.log("res.data", res.data);
|
||||
res.data.forEach(lesson => {
|
||||
setLessons(prev => [...prev, lesson?.resourceId]);
|
||||
setLessons(prev => [...prev, { resourceId: lesson?.resourceId, courseId: lesson?.courseId || null }]);
|
||||
});
|
||||
}
|
||||
}).catch(err => {
|
||||
@ -102,7 +103,8 @@ const Details = () => {
|
||||
if (parsedEvent.price || (isAuthor && event.kind === 30402)) {
|
||||
const shouldDecrypt = isAuthor ||
|
||||
session?.user?.role?.subscribed ||
|
||||
session?.user?.purchased?.some(purchase => purchase.resourceId === parsedEvent.d);
|
||||
session?.user?.purchased?.some(purchase => purchase.resourceId === parsedEvent.d) ||
|
||||
lessons.some(lesson => lesson.resourceId === parsedEvent.d && session?.user?.purchased?.some(purchase => purchase.courseId === lesson.courseId));
|
||||
|
||||
if (shouldDecrypt) {
|
||||
const decrypted = await decryptContent(event.content);
|
||||
@ -152,7 +154,7 @@ const Details = () => {
|
||||
price={event.price}
|
||||
author={author}
|
||||
paidResource={!!event.price}
|
||||
isLesson={lessons.includes(event.d)}
|
||||
isLesson={lessons.some(lesson => lesson.resourceId === event.d)}
|
||||
nAddress={nAddress}
|
||||
decryptedContent={decryptedContent}
|
||||
handlePaymentSuccess={handlePaymentSuccess}
|
||||
|
Loading…
x
Reference in New Issue
Block a user