import React from 'react' import {View} from 'react-native' import {Image} from 'expo-image' import {type ImagePickerAsset} from 'expo-image-picker' import {BlueskyVideoView} from '@haileyok/bluesky-video' import {type CompressedVideo} from '#/lib/media/video/types' import {clamp} from '#/lib/numbers' import {useAutoplayDisabled} from '#/state/preferences' import {ExternalEmbedRemoveBtn} from '#/view/com/composer/ExternalEmbedRemoveBtn' import {atoms as a, useTheme} from '#/alf' import {PlayButtonIcon} from '#/components/video/PlayButtonIcon' import {VideoTranscodeBackdrop} from './VideoTranscodeBackdrop' export function VideoPreview({ asset, video, clear, isActivePost, }: { asset: ImagePickerAsset video: CompressedVideo isActivePost: boolean clear: () => void }) { const t = useTheme() const playerRef = React.useRef(null) const autoplayDisabled = useAutoplayDisabled() let aspectRatio = asset.width / asset.height if (isNaN(aspectRatio)) { aspectRatio = 16 / 9 } aspectRatio = clamp(aspectRatio, 1 / 1, 3 / 1) return ( {isActivePost && ( <> {video.mimeType === 'image/gif' ? ( ) : ( )} )} {autoplayDisabled && ( )} ) }