import React, { useEffect, useState } from 'react'; import { Tag } from 'primereact/tag'; import { Message } from 'primereact/message'; import GenericButton from '@/components/buttons/GenericButton'; import Image from 'next/image'; import { useImageProxy } from '@/hooks/useImageProxy'; import { formatDateTime, formatUnixTimestamp } from '@/utils/time'; import { useRouter } from 'next/router'; import dynamic from 'next/dynamic'; const MDDisplay = dynamic(() => import('@uiw/react-markdown-preview'), { ssr: false, }); const DraftCourseLesson = ({ lesson, course }) => { const [isPublished, setIsPublished] = useState(false); const router = useRouter(); const { returnImageProxy } = useImageProxy(); useEffect(() => { if (lesson?.kind) { setIsPublished(true); } else { setIsPublished(false); } }, [lesson]); return (
{lesson && lesson.topics && lesson.topics.length > 0 && lesson.topics.map((topic, index) => ( ))}

{lesson?.title}

{lesson?.summary && (

{lesson.summary.split('\n').map((line, index) => (

{line}

))}
)}

{lesson?.additionalLinks && lesson.additionalLinks.length > 0 && (

External links:

)} {lesson?.price &&

Price: {lesson.price} sats

}
avatar thumbnail

Created by{' '} {lesson.author?.username || lesson.author?.pubkey}

{lesson?.createdAt ? (

{formatDateTime(lesson?.createdAt)}

) : (

{formatUnixTimestamp(lesson?.published_at)}

)}
{isPublished ? ( <> router.push(`/details/${lesson.id}`)} label="View" outlined className="w-auto m-2" /> router.push(`/details/${lesson.id}/edit`)} label="Edit" severity="warning" outlined className="w-auto m-2" /> ) : ( <> router.push(`/draft/${lesson.id}`)} label="View" outlined className="w-auto m-2" /> router.push(`/draft/${lesson.id}/edit`)} label="Edit" severity="warning" outlined className="w-auto m-2" /> )}
{lesson && (
course thumbnail
)}
{lesson?.content && }
); }; export default DraftCourseLesson;