import React from 'react' import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {ModerationUI} from '@atproto/api' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {isJustAMute} from '#/lib/moderation' import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription' import {sanitizeDisplayName} from '#/lib/strings/display-names' import {atoms as a, useBreakpoints, useTheme, web} from '#/alf' import {Button} from '#/components/Button' import { ModerationDetailsDialog, useModerationDetailsDialogControl, } from '#/components/moderation/ModerationDetailsDialog' import {Text} from '#/components/Typography' export function ContentHider({ testID, modui, ignoreMute, style, childContainerStyle, children, }: React.PropsWithChildren<{ testID?: string modui: ModerationUI | undefined ignoreMute?: boolean style?: StyleProp childContainerStyle?: StyleProp }>) { const t = useTheme() const {_} = useLingui() const {gtMobile} = useBreakpoints() const [override, setOverride] = React.useState(false) const control = useModerationDetailsDialogControl() const blur = modui?.blurs[0] const desc = useModerationCauseDescription(blur) if (!blur || (ignoreMute && isJustAMute(modui))) { return ( {children} ) } return ( {desc.source && blur.type === 'label' && !override && ( )} {override && {children}} ) } const styles = StyleSheet.create({ outer: { overflow: 'hidden', }, cover: { flexDirection: 'row', alignItems: 'center', gap: 6, borderRadius: 8, marginTop: 4, paddingVertical: 14, paddingLeft: 14, paddingRight: 18, }, showBtn: { marginLeft: 'auto', alignSelf: 'center', }, })