import { NodeViewWrapper } from "@tiptap/react"; import { AlertTriangle, Image, Video } from "lucide-react"; import React from "react"; import styled from "styled-components"; import { getBackendUrl } from "../../../../services/config/config"; import { uploadNewVideoFile } from "../../../../services/blocks/Video/video"; function VideoBlockComponents(props: any) { const [video, setVideo] = React.useState(null); const [isLoading, setIsLoading] = React.useState(false); const [blockObject, setblockObject] = React.useState(props.node.attrs.blockObject); const handleVideoChange = (event: React.ChangeEvent) => { setVideo(event.target.files[0]); }; const handleSubmit = async (e: any) => { e.preventDefault(); setIsLoading(true); let object = await uploadNewVideoFile(video, props.extension.options.activity.activity_id); setIsLoading(false); setblockObject(object); props.updateAttributes({ blockObject: object, }); }; return ( {!blockObject && (

)} {blockObject && ( )} {isLoading && (
)}
); } const BlockVideoWrapper = styled.div` display: flex; flex-direction: column; background: #f9f9f9; border-radius: 3px; padding: 30px; min-height: 74px; border: ${(props) => (props.contentEditable ? "2px dashed #713f1117" : "none")}; // center align-items: center; justify-content: center; text-align: center; font-size: 14px; `; const BlockVideo = styled.div` display: flex; flex-direction: column; video { width: 100%; border-radius: 6px; height: 300px; // cover object-fit: cover; } `; export default VideoBlockComponents;