diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-09-05 15:56:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-05 15:56:10 +0100 |
commit | 60b74f7ab82328de5ec9cea7c40e1db705d40d6b (patch) | |
tree | 88a1f7a42f1be449386919d3fb17b003556de8f7 /src/view/com/composer/videos/VideoPreview.web.tsx | |
parent | d846f5bbf0a0548181331dfd095b70d36afd9ad9 (diff) | |
download | voidsky-60b74f7ab82328de5ec9cea7c40e1db705d40d6b.tar.zst |
[Video] Disable autoplay option (preview + web player) (#5167)
* rename setting * preview (web) * preview (native) * improve autoplay disabled behaviour on web
Diffstat (limited to 'src/view/com/composer/videos/VideoPreview.web.tsx')
-rw-r--r-- | src/view/com/composer/videos/VideoPreview.web.tsx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/view/com/composer/videos/VideoPreview.web.tsx b/src/view/com/composer/videos/VideoPreview.web.tsx index 4c44781cf..9473be074 100644 --- a/src/view/com/composer/videos/VideoPreview.web.tsx +++ b/src/view/com/composer/videos/VideoPreview.web.tsx @@ -6,9 +6,11 @@ import {useLingui} from '@lingui/react' import {CompressedVideo} from '#/lib/media/video/types' import {clamp} from '#/lib/numbers' +import {useAutoplayDisabled} from '#/state/preferences' import * as Toast from '#/view/com/util/Toast' import {ExternalEmbedRemoveBtn} from 'view/com/composer/ExternalEmbedRemoveBtn' import {atoms as a} from '#/alf' +import {PlayButtonIcon} from '#/components/video/PlayButtonIcon' export function VideoPreview({ asset, @@ -23,6 +25,7 @@ export function VideoPreview({ }) { const ref = useRef<HTMLVideoElement>(null) const {_} = useLingui() + const autoplayDisabled = useAutoplayDisabled() useEffect(() => { if (!ref.current) return @@ -66,17 +69,23 @@ export function VideoPreview({ {aspectRatio}, a.overflow_hidden, {backgroundColor: 'black'}, + a.relative, ]}> <ExternalEmbedRemoveBtn onRemove={clear} /> <video ref={ref} src={video.uri} style={{width: '100%', height: '100%', objectFit: 'cover'}} - autoPlay + autoPlay={!autoplayDisabled} loop muted playsInline /> + {autoplayDisabled && ( + <View style={[a.absolute, a.inset_0, a.justify_center, a.align_center]}> + <PlayButtonIcon size={48} /> + </View> + )} </View> ) } |