import { NodeViewWrapper } from "@tiptap/react"; import React, { useEffect } from "react"; import styled from "styled-components"; import { AlertCircle, AlertTriangle, FileText, Image, ImagePlus, Info, Loader } from "lucide-react"; import { getPDFFile, uploadNewPDFFile } from "../../../../../services/blocks/Pdf/pdf"; import { getBackendUrl } from "../../../../../services/config/config"; import { UploadIcon } from "@radix-ui/react-icons"; import { getActivityBlockMediaDirectory } from "@services/media/media"; import { useOrg } from "@components/Contexts/OrgContext"; import { useCourse } from "@components/Contexts/CourseContext"; import { useEditorProvider } from "@components/Contexts/Editor/EditorContext"; function PDFBlockComponent(props: any) { const org = useOrg() as any; const course = useCourse() as any; const [pdf, setPDF] = React.useState(null); const [isLoading, setIsLoading] = React.useState(false); const [blockObject, setblockObject] = React.useState(props.node.attrs.blockObject); const fileId = blockObject ? `${blockObject.content.file_id}.${blockObject.content.file_format}` : null; const editorState = useEditorProvider() as any; const isEditable = editorState.isEditable; const handlePDFChange = (event: React.ChangeEvent) => { setPDF(event.target.files[0]); }; const handleSubmit = async (e: any) => { e.preventDefault(); setIsLoading(true); let object = await uploadNewPDFFile(pdf, props.extension.options.activity.activity_uuid); setIsLoading(false); setblockObject(object); props.updateAttributes({ blockObject: object, }); }; useEffect(() => { } , [course, org]); return ( {!blockObject && ( {isLoading ? ( ) : ( <>
)}
)} {blockObject && (