import React, { useState } from 'react' import { Pressable, Text } from 'react-native' import Collapsible from 'react-native-collapsible' import ParseContent from '@components/ParseContent' import { useTheme } from '@utils/styles/ThemeManager' import { StyleConstants } from '@utils/styles/constants' import { LinearGradient } from 'expo-linear-gradient' export interface Props { status: Mastodon.Status numberOfLines?: number highlighted?: boolean } const TimelineContent: React.FC = ({ status, numberOfLines, highlighted = false }) => { const { theme } = useTheme() const [spoilerCollapsed, setSpoilerCollapsed] = useState(true) const lineHeight = 28 return ( <> {status.spoiler_text ? ( <> setSpoilerCollapsed(!spoilerCollapsed)} style={{ marginTop: spoilerCollapsed ? -lineHeight : 0 }} > {spoilerCollapsed ? '展开' : '收起'}隐藏内容 ) : ( )} ) } export default React.memo(TimelineContent, () => true)