enter/exit animations for video in composer

This commit is contained in:
Samuel Newman
2024-09-05 14:08:36 +01:00
parent d846f5bbf0
commit f5d3e7ea68
+7 -2
View File
@@ -29,6 +29,7 @@ import Animated, {
useSharedValue, useSharedValue,
withRepeat, withRepeat,
withTiming, withTiming,
ZoomIn,
} from 'react-native-reanimated' } from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context' import {useSafeAreaInsets} from 'react-native-safe-area-context'
import { import {
@@ -84,7 +85,7 @@ import {GalleryModel} from 'state/models/media/gallery'
import {State as VideoUploadState} from 'state/queries/video/video' import {State as VideoUploadState} from 'state/queries/video/video'
import {ComposerOpts} from 'state/shell/composer' import {ComposerOpts} from 'state/shell/composer'
import {ComposerReplyTo} from 'view/com/composer/ComposerReplyTo' import {ComposerReplyTo} from 'view/com/composer/ComposerReplyTo'
import {atoms as a, useTheme} from '#/alf' import {atoms as a, native, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button' import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo' import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
import {EmojiArc_Stroke2_Corner0_Rounded as EmojiSmile} from '#/components/icons/Emoji' import {EmojiArc_Stroke2_Corner0_Rounded as EmojiSmile} from '#/components/icons/Emoji'
@@ -766,6 +767,10 @@ export const ComposePost = observer(function ComposePost({
)} )}
</View> </View>
) : null} ) : null}
{(videoUploadState.asset || videoUploadState.video) && (
<Animated.View
entering={native(ZoomIn)}
exiting={native(FadeOut)}>
{videoUploadState.asset && {videoUploadState.asset &&
(videoUploadState.status === 'compressing' ? ( (videoUploadState.status === 'compressing' ? (
<VideoTranscodeProgress <VideoTranscodeProgress
@@ -781,13 +786,13 @@ export const ComposePost = observer(function ComposePost({
clear={clearVideo} clear={clearVideo}
/> />
) : null)} ) : null)}
{(videoUploadState.asset || videoUploadState.video) && (
<SubtitleDialogBtn <SubtitleDialogBtn
altText={videoAltText} altText={videoAltText}
setAltText={setVideoAltText} setAltText={setVideoAltText}
captions={captions} captions={captions}
setCaptions={setCaptions} setCaptions={setCaptions}
/> />
</Animated.View>
)} )}
</View> </View>
</Animated.ScrollView> </Animated.ScrollView>