diff options
author | dan <dan.abramov@gmail.com> | 2024-08-08 17:05:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-08 17:05:51 +0100 |
commit | 4b71950d9920913a2a2cc9e493b23b87aad7cec1 (patch) | |
tree | 190d3c9efbd5072dcd09b0475c9c5b9df623e592 /src/view/screens/PostThread.tsx | |
parent | 2174feed441459448668934015810fe0eb876dde (diff) | |
download | voidsky-4b71950d9920913a2a2cc9e493b23b87aad7cec1.tar.zst |
Remove unnecessary state update for reply gate (#4897)
* Move mobile compose prompt to inner component * Make canReply computed * Use same clamp we use elsewhere
Diffstat (limited to 'src/view/screens/PostThread.tsx')
-rw-r--r-- | src/view/screens/PostThread.tsx | 42 |
1 files changed, 2 insertions, 40 deletions
diff --git a/src/view/screens/PostThread.tsx b/src/view/screens/PostThread.tsx index 89234c46b..43dae2f1a 100644 --- a/src/view/screens/PostThread.tsx +++ b/src/view/screens/PostThread.tsx @@ -1,39 +1,26 @@ import React from 'react' -import {StyleSheet, View} from 'react-native' -import Animated from 'react-native-reanimated' -import {useSafeAreaInsets} from 'react-native-safe-area-context' +import {View} from 'react-native' import {useFocusEffect} from '@react-navigation/native' import {useQueryClient} from '@tanstack/react-query' -import {clamp} from 'lodash' -import {isWeb} from '#/platform/detection' import { RQKEY as POST_THREAD_RQKEY, ThreadNode, } from '#/state/queries/post-thread' -import {useSession} from '#/state/session' import {useSetMinimalShellMode} from '#/state/shell' import {useComposerControls} from '#/state/shell/composer' -import {useMinimalShellFabTransform} from 'lib/hooks/useMinimalShellTransform' -import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types' import {makeRecordUri} from 'lib/strings/url-helpers' import {s} from 'lib/styles' -import {ComposePrompt} from 'view/com/composer/Prompt' import {PostThread as PostThreadComponent} from '../com/post-thread/PostThread' type Props = NativeStackScreenProps<CommonNavigatorParams, 'PostThread'> export function PostThreadScreen({route}: Props) { const queryClient = useQueryClient() - const {hasSession} = useSession() - const fabMinimalShellTransform = useMinimalShellFabTransform() const setMinimalShellMode = useSetMinimalShellMode() const {openComposer} = useComposerControls() - const safeAreaInsets = useSafeAreaInsets() const {name, rkey} = route.params - const {isMobile} = useWebMediaQueries() const uri = makeRecordUri(name, 'app.bsky.feed.post', rkey) - const [canReply, setCanReply] = React.useState(false) useFocusEffect( React.useCallback(() => { @@ -67,33 +54,8 @@ export function PostThreadScreen({route}: Props) { return ( <View style={s.hContentRegion}> <View style={s.flex1}> - <PostThreadComponent - uri={uri} - onPressReply={onPressReply} - onCanReply={setCanReply} - /> + <PostThreadComponent uri={uri} onPressReply={onPressReply} /> </View> - {isMobile && canReply && hasSession && ( - <Animated.View - style={[ - styles.prompt, - fabMinimalShellTransform, - { - bottom: clamp(safeAreaInsets.bottom, 15, 30), - }, - ]}> - <ComposePrompt onPressCompose={onPressReply} /> - </Animated.View> - )} </View> ) } - -const styles = StyleSheet.create({ - prompt: { - // @ts-ignore web-only - position: isWeb ? 'fixed' : 'absolute', - left: 0, - right: 0, - }, -}) |