Fix hidden adult content takes time to appear (#11469)

This commit is contained in:
Oleksii Bulenok
2026-09-07 09:20:24 +02:00
committed by GitHub
parent 014b889466
commit c17309943d
+13 -11
View File
@@ -1,10 +1,6 @@
import {useMemo, useState} from 'react' import {useMemo, useState} from 'react'
import { import {type StyleProp, View, type ViewStyle} from 'react-native'
LayoutAnimation, import Animated, {FadeIn, LinearTransition} from 'react-native-reanimated'
type StyleProp,
View,
type ViewStyle,
} from 'react-native'
import {type ModerationUI} from '@bsky/sdk/moderation' import {type ModerationUI} from '@bsky/sdk/moderation'
import {Trans, useLingui} from '@lingui/react/macro' import {Trans, useLingui} from '@lingui/react/macro'
@@ -18,7 +14,7 @@ import {getDefinition, getLabelStrings} from '#/lib/moderation/useLabelInfo'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription' import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {useLabelDefinitions} from '#/state/preferences' import {useLabelDefinitions} from '#/state/preferences'
import {atoms as a, useBreakpoints, useTheme, web} from '#/alf' import {atoms as a, native, useBreakpoints, useTheme, web} from '#/alf'
import {Button} from '#/components/Button' import {Button} from '#/components/Button'
import { import {
ModerationDetailsDialog, ModerationDetailsDialog,
@@ -140,14 +136,16 @@ function ContentHiderActive({
]) ])
return ( return (
<View testID={testID} style={[a.overflow_hidden, style]}> <Animated.View
testID={testID}
layout={native(LinearTransition)}
style={[a.overflow_hidden, style]}>
<ModerationDetailsDialog control={control} modcause={blur} /> <ModerationDetailsDialog control={control} modcause={blur} />
<Button <Button
onPress={e => { onPress={e => {
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
if (!modui.noOverride) { if (!modui.noOverride) {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
setOverride(v => !v) setOverride(v => !v)
} else { } else {
control.open() control.open()
@@ -249,7 +247,11 @@ function ContentHiderActive({
)} )}
</Button> </Button>
)} )}
{override && <View style={childContainerStyle}>{children}</View>} {override && (
</View> <Animated.View entering={native(FadeIn)} style={childContainerStyle}>
{children}
</Animated.View>
)}
</Animated.View>
) )
} }