import Button from '@components/Button' import { StyleConstants } from '@utils/styles/constants' import { ResizeMode, Video, VideoFullscreenUpdate } from 'expo-av' import React, { useRef, useState } from 'react' import { Pressable, View } from 'react-native' import { Blurhash } from 'react-native-blurhash' import AttachmentAltText from './AltText' import { Platform } from 'expo-modules-core' import { useAccessibility } from '@utils/accessibility/AccessibilityManager' import { aspectRatio } from './dimensions' import { useSelector } from 'react-redux' import { getSettingsAutoplayGifv } from '@utils/slices/settingsSlice' export interface Props { total: number index: number sensitiveShown: boolean video: Mastodon.AttachmentVideo | Mastodon.AttachmentGifv gifv?: boolean } const AttachmentVideo: React.FC = ({ total, index, sensitiveShown, video, gifv = false }) => { const { reduceMotionEnabled } = useAccessibility() const autoplayGifv = useSelector(getSettingsAutoplayGifv) const videoPlayer = useRef