import { Stack, Text } from '@chakra-ui/react' import { VideoBubbleBlock } from '@typebot.io/schemas' import { TextInput } from '@/components/inputs' import { useTranslate } from '@tolgee/react' import { parseVideoUrl } from '@typebot.io/schemas/features/blocks/bubbles/video/helpers' import { defaultVideoBubbleContent } from '@typebot.io/schemas/features/blocks/bubbles/video/constants' import { SwitchWithLabel } from '@/components/inputs/SwitchWithLabel' type Props = { content?: VideoBubbleBlock['content'] onSubmit: (content: VideoBubbleBlock['content']) => void } export const VideoUploadContent = ({ content, onSubmit }: Props) => { const { t } = useTranslate() const updateUrl = (url: string) => { const { type, url: matchedUrl, id, videoSizeSuggestion, } = parseVideoUrl(url) return onSubmit({ ...content, type, url: matchedUrl, id, ...(!content?.aspectRatio && !content?.maxWidth ? videoSizeSuggestion : {}), }) } const updateAspectRatio = (aspectRatio?: string) => { return onSubmit({ ...content, aspectRatio, }) } const updateMaxWidth = (maxWidth?: string) => { return onSubmit({ ...content, maxWidth, }) } const updateAutoPlay = (isAutoplayEnabled: boolean) => { return onSubmit({ ...content, isAutoplayEnabled }) } const updateControlsDisplay = (areControlsDisplayed: boolean) => { if (areControlsDisplayed === false) { // Make sure autoplay is enabled when video controls are disabled return onSubmit({ ...content, isAutoplayEnabled: true, areControlsDisplayed, }) } return onSubmit({ ...content, areControlsDisplayed }) } return ( {t('video.urlInput.helperText')} {content?.url && ( )} {content?.url && content?.type === 'url' && ( updateAutoPlay(!content.isAutoplayEnabled)} /> )} ) }