blergh
This commit is contained in:
@@ -1,12 +1,14 @@
|
|||||||
import React, {useEffect, useRef} from 'react'
|
import React, {useEffect, useRef} from 'react'
|
||||||
import {useWindowDimensions, View} from 'react-native'
|
import {useWindowDimensions, View} from 'react-native'
|
||||||
import {runOnJS} from 'react-native-reanimated'
|
import Animated, {runOnJS} from 'react-native-reanimated'
|
||||||
import {AppBskyFeedDefs} from '@atproto/api'
|
import {AppBskyFeedDefs} from '@atproto/api'
|
||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
|
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
|
||||||
import {ScrollProvider} from '#/lib/ScrollContext'
|
import {ScrollProvider} from '#/lib/ScrollContext'
|
||||||
|
import { useMinimalShellMode } from '#/lib/hooks/useMinimalShellMode'
|
||||||
|
import { MainScrollProvider } from '../util/MainScrollProvider'
|
||||||
import {isAndroid, isNative, isWeb} from '#/platform/detection'
|
import {isAndroid, isNative, isWeb} from '#/platform/detection'
|
||||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {
|
import {
|
||||||
@@ -254,6 +256,8 @@ export function PostThread({
|
|||||||
return arr
|
return arr
|
||||||
}, [skeleton, deferParents, maxParents, maxReplies])
|
}, [skeleton, deferParents, maxParents, maxReplies])
|
||||||
|
|
||||||
|
const {headerMinimalShellTransform} = useMinimalShellMode()
|
||||||
|
|
||||||
// This is only used on the web to keep the post in view when its parents load.
|
// This is only used on the web to keep the post in view when its parents load.
|
||||||
// On native, we rely on `maintainVisibleContentPosition` instead.
|
// On native, we rely on `maintainVisibleContentPosition` instead.
|
||||||
const didAdjustScrollWeb = useRef<boolean>(false)
|
const didAdjustScrollWeb = useRef<boolean>(false)
|
||||||
@@ -422,13 +426,15 @@ export function PostThread({
|
|||||||
return (
|
return (
|
||||||
<CenteredView style={[a.flex_1]} sideBorders={true}>
|
<CenteredView style={[a.flex_1]} sideBorders={true}>
|
||||||
{showHeader && (
|
{showHeader && (
|
||||||
|
<Animated.View style={headerMinimalShellTransform}>
|
||||||
<ViewHeader
|
<ViewHeader
|
||||||
title={_(msg({message: `Post`, context: 'description'}))}
|
title={_(msg({message: `Post`, context: 'description'}))}
|
||||||
showBorder
|
showBorder
|
||||||
/>
|
/>
|
||||||
|
</Animated.View>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<ScrollProvider onMomentumEnd={onMomentumEnd}>
|
<MainScrollProvider>
|
||||||
<List
|
<List
|
||||||
ref={ref}
|
ref={ref}
|
||||||
data={posts}
|
data={posts}
|
||||||
@@ -461,7 +467,7 @@ export function PostThread({
|
|||||||
windowSize={11}
|
windowSize={11}
|
||||||
sideBorders={false}
|
sideBorders={false}
|
||||||
/>
|
/>
|
||||||
</ScrollProvider>
|
</MainScrollProvider>
|
||||||
</CenteredView>
|
</CenteredView>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user