diff options
author | dan <dan.abramov@gmail.com> | 2023-11-09 00:25:27 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-09 00:25:27 +0000 |
commit | 82059b7ee138d24ff50b0f4fad0eaeac860bb78c (patch) | |
tree | 05db1953b6405d218d3a23d3030dab47a10e05ec /src/view/screens/PostThread.tsx | |
parent | bd531f2344c181261afaf8c43c96daf569b58f09 (diff) | |
download | voidsky-82059b7ee138d24ff50b0f4fad0eaeac860bb78c.tar.zst |
Hide/show header and footer without re-renders, take two (#1849)
* Remove callsites using the state value * Remove unused code * Change shell mode without re-renders * Adjust "write your reply" for mode
Diffstat (limited to 'src/view/screens/PostThread.tsx')
-rw-r--r-- | src/view/screens/PostThread.tsx | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/view/screens/PostThread.tsx b/src/view/screens/PostThread.tsx index 0bdd06269..0abce45fa 100644 --- a/src/view/screens/PostThread.tsx +++ b/src/view/screens/PostThread.tsx @@ -1,5 +1,6 @@ import React, {useMemo} from 'react' import {InteractionManager, StyleSheet, View} from 'react-native' +import Animated from 'react-native-reanimated' import {useFocusEffect} from '@react-navigation/native' import {observer} from 'mobx-react-lite' import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types' @@ -15,15 +16,14 @@ import {useSafeAreaInsets} from 'react-native-safe-area-context' import {clamp} from 'lodash' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {logger} from '#/logger' -import {useMinimalShellMode, useSetMinimalShellMode} from '#/state/shell' - -const SHELL_FOOTER_HEIGHT = 44 +import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode' +import {useSetMinimalShellMode} from '#/state/shell' type Props = NativeStackScreenProps<CommonNavigatorParams, 'PostThread'> export const PostThreadScreen = withAuthRequired( observer(function PostThreadScreenImpl({route}: Props) { const store = useStores() - const minimalShellMode = useMinimalShellMode() + const {fabMinimalShellTransform} = useMinimalShellMode() const setMinimalShellMode = useSetMinimalShellMode() const safeAreaInsets = useSafeAreaInsets() const {name, rkey} = route.params @@ -83,17 +83,17 @@ export const PostThreadScreen = withAuthRequired( treeView={!!store.preferences.thread.lab_treeViewEnabled} /> </View> - {isMobile && !minimalShellMode && ( - <View + {isMobile && ( + <Animated.View style={[ styles.prompt, + fabMinimalShellTransform, { - bottom: - SHELL_FOOTER_HEIGHT + clamp(safeAreaInsets.bottom, 15, 30), + bottom: clamp(safeAreaInsets.bottom, 15, 30), }, ]}> <ComposePrompt onPressCompose={onPressReply} /> - </View> + </Animated.View> )} </View> ) |