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?.name || 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;