import React, { useCallback, useEffect } from 'react'; import { SilkeBox } from '../../silke-box'; import { SilkeButton } from '../../silke-button'; import { SilkeTextSmall } from '../../silke-text'; import { VideoField as VideoFieldType, SchemaFieldProps } from '@vev/utils'; import { useSchemaContext } from '../silke-schema-context'; import styles from './styles.scss'; import { getTitle } from './utils/schema-util'; const VideoField = ({ value, schema, disabled, readonly, onChange, }: SchemaFieldProps) => { const { actions } = useSchemaContext(); const handleDeleteVideo = useCallback(() => { onChange(null); }, [onChange]); const handleSelectVideo = useCallback(() => { if (!actions) return; actions.videoLibraryOpen((video: any) => { if (!video || !video.url) return; onChange(video); actions.videoLibraryClose(); }); }, [onChange, actions]); useEffect(() => { handleSelectVideo(); }, []); return ( {getTitle(schema)} {schema.description && ( {schema.description} )} ); }; export default VideoField;